Edit1.Text := floattostr( 10000000 shl 16);
Edit2.Text := floattostr( 10000000.0 * 65536);
위처럼 shl은 2의 16승을 곱한다는 의미인가요
edit1, edit2 값을 같더군요
Edit3.Text := floattostr( 10000000 shr 16);
Edit4.Text := floattostr( 10000000 / 65536 );
그리고 shr은 반대로 나누는 의미인가요?
edit3과 에는 소수점이하자리가 없고
edit4 에 소숫점이하자리가 있더군요
shl 과 shr의 의미 좀알려주세요
shl : shift left
shr : shift Right
입니다.
Bit연산하느거구요
1Byte = 8bit죠
10진수로 8이란 값이 있습니다
이걸 2진수로 표현하면
00001000
입니다
8 shl 1 을 하게 되면 8이란 값을 왼쪽으로 1bit 이동해라... 이런 말이죠
그럼
00001000(2진수)가 00010000(2진수)로 값이 됩니다
00010000(2진수)는 10진수로 16이 되겠죠
8 shr 1 을 하면 오른쪽으로 1bit이동해라고 되겠죠?
00001000 -> 00000100
가 되어 10진수로 값이 4가 됩니다.
shl, shr은 2진수로 생각하셔서 왼쪽으로 몇 bit, 오른족으로 몇 bit 이동시킬까 하는 것입니다
즐코하셔요