1
我想在gdb
, 中打印1010的十進制值,但它會打印結果,因爲它是我最後給出的結果。你提供的表達,這是在該程序的源語言解釋的如何在GDB中將二進制值(1010)打印成十進制值(10)?
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
我想在gdb
, 中打印1010的十進制值,但它會打印結果,因爲它是我最後給出的結果。你提供的表達,這是在該程序的源語言解釋的如何在GDB中將二進制值(1010)打印成十進制值(10)?
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
的p
[rint
]命令打印的值被調試。在C中,你的1010
是一個十進制文字,而不是一個二進制文字,所以你的基本問題是你給GDB糟糕的輸入。
標準C不支持二進制文字,但GNU C支持它們作爲擴展。格式是一個二進制數字字符串,前面爲0b
或0B
,您可能認爲它與十六進制文字的標準格式類似。 GDB認識到這種形式。
由於print
的數字的默認輸出基數是十進制,因此不需要指定輸出格式。只是使用命令
p 0b1010
嗨,這是工作正常。 –
https://www.cs.swarthmore.edu/~newhall/cs31/f13/WeeklyLabs/wlab02.php –