struct bit operation