[問題] 如何印出long型態整數的bit pattern?
以下的函數是我寫的:
void longBit(long num){
int i;
for(i=63;i>=0;i--){ //long資料型態是8位元組
if(num & 1 << i)
printf("1");
else
printf("0");
}
printf("\n");
}
以這種寫法來印出int和short整數型態的bit pattern會對
但印出long整數型態就不行(印出來前面32bit和後面32bit會重複)
為什麼會這樣?
要如何修改?
謝謝><"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.102.100
→
01/04 02:29, , 1F
01/04 02:29, 1F
→
01/04 02:29, , 2F
01/04 02:29, 2F
→
01/04 02:39, , 3F
01/04 02:39, 3F
→
01/04 02:40, , 4F
01/04 02:40, 4F
→
01/04 02:42, , 5F
01/04 02:42, 5F
→
01/04 02:43, , 6F
01/04 02:43, 6F
→
01/04 02:45, , 7F
01/04 02:45, 7F
推
01/04 02:48, , 8F
01/04 02:48, 8F
→
01/04 02:48, , 9F
01/04 02:48, 9F
→
01/04 02:49, , 10F
01/04 02:49, 10F
→
01/04 03:06, , 11F
01/04 03:06, 11F
推
01/04 03:18, , 12F
01/04 03:18, 12F
→
01/04 04:49, , 13F
01/04 04:49, 13F
推
01/04 09:59, , 14F
01/04 09:59, 14F
→
01/04 10:06, , 15F
01/04 10:06, 15F
→
01/05 13:49, , 16F
01/05 13:49, 16F