I want to print the decimal value of 1010 in gdb
,
but it prints the result as it is what I gave last.
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
Hence, The decimal equivalent of the given binary number is 11.
GDB's p
[rint
] command prints the value of the expression you provide, which is interpreted in the source language of the program being debugged. In C, your 1010
is a decimal literal, not a binary literal, so your basic problem is that you are giving GDB bad input.
Standard C has no support for binary literals, but GNU C supports them as an extension. The format is a binary digit string preceded by 0b
or 0B
, which you'll probably recognize as analogous to the standard format for hexadecimal literals. GDB recognizes this form.
Since print
's default output radix for numbers is decimal, you don't need to specify an output format. Just use the command
p 0b1010
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With