亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過指針知道系統的位數?

如何通過指針知道系統的位數?

C C++
某向陽 2017-12-14 15:45:24
C語言課上,老師給一段代碼char?*p="Hello?World"; printf("%p",p);輸出的是一個八位的十六進制數,類似00B67BD0然后問她的操作系統的多少位的?答案是64位。我的理解是,把十六進制轉換成二進制,那應該有8*4=32位,既內存地址可由一個32位的二進制表示,所以系統是32位。不知道是哪里錯了。
查看完整描述

3 回答

?
onemoo

TA貢獻883條經驗 獲得超454個贊

那你覺得64位系統上運行32位程序又如何呢?


確實如你所想,64位程序中打印出的 p 應該是16位十六進制數。

但這個編譯環境可能編譯出的是32位程序。所以這完全有可能和操作系統的位數無關。

查看完整回答
1 反對 回復 2017-12-15
?
慕用4063026

TA貢獻195條經驗 獲得超115個贊

#include?<stdio.h>??
??
int?main(int?argc,?char?*argv[])??
{??
????int?*p?=?(int?*)~0;??
????int?count?=?0;??
????for?(;p!=0;)??
????{??
????????p?=?(int?*)((long)p?<<?1);??
????????count++;??
????}??
????printf("%d\n",count);??
????return?0;??
}

你試試這個呢

查看完整回答
1 反對 回復 2017-12-15
  • 3 回答
  • 1 關注
  • 1808 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號