[二进制、八进制、十六进制5]6.2.5 十六进制数转换成十进制数2进制,用两个阿拉伯数字:0、1;8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;10进制,用十个阿拉伯数字:0到9;16进制,用十六个阿拉伯数字…...+阅读
6.6 通过调试查看变量的值
下面我们来动手完成一个小小的实验,通过调试,观察变量的值。
我们在代码中声明两个int 变量,并分别初始化为5和-5。然后我们通过CB提供的调试手段,可以查看到程序运行时,这两个变量的十进制值和十六进制值。
首先新建一个控制台工程。加入以下黑体部分(就一行):
---------------------------------------------------------------------------
#pragma hdrstop
---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* ar[])
{
int aaaa = 5, bbbbb = -5;
return 0;
}
---------------------------------------------------------------------------
没有我们熟悉的的那一行:
getchar();
所以,如果全速运行这个程序,将只是DOS窗口一闪而过。不过今天我们将通过设置断点,来使用程序在我们需要的地儿停下来。
设置断点:最常用的调试方法之一,使用程序在运行时,暂停在某一代码位置,
在CB里,设置断点的方法是在某一行代码上按F5或在行首栏内单击鼠标。
如下图:
在上图中,我们在return 0;这一行上设置断点。断点所在行将被CB以红色显示。
接着,运行程序(F9),程序将在断点处停下来。
(请注意两张图的不同,前面的图是运行之前,后面这张是运行中,左边的箭头表示运行运行到哪一行)
当程序停在断点的时,我们可以观察当前代码片段内,可见的变量。观察变量的方法很多种,这里我们学习使用Debug Inspector (调试期检视),来全面观察一个变量。
以下是调出观察某一变量的 Debug Inspector 窗口的方法:
先确保代码窗口是活动窗口。(用鼠标点一下代码窗口)
按下Ctrl键,然后将鼠标挪到变量 aaaa 上面,你会发现代码中的aaaa变蓝,并且出现下划线,效果如网页中的超链接,而鼠标也变成了小手状点击鼠标,将出现变量aaaa的检视窗口:
笔者使用的操作系统为WindowsXP,窗口的外观与Win9X有所不同)
从该窗口,我可以看到:
aaaa :变量名
int :变量的数据类型
0012FF88:变量的内存地址,请参看5.2 变量与内存地址;地址总是使用十六进制表达
5 : 这是变量的值,即aaaa = 5;
0x00000005 :同样是变量的值,但采用16进制表示。因为是int类型,所以占用4字节。
首先先关闭前面的用于观察变量aaaa的Debug Inspector窗口。
现在,我们用同样的方法来观察变量bbbb,它的值为-5,负数在计算机中使用补码表示。
正如我们所想,-5的补码为:0xFFFFFFFB。
再按一次F9,程序将从断点继续运行,然后结束。
以下为关联文档:
二进制、八进制、十六进制96.5 原码、反码、补码结束了各种进制的转换,我们来谈谈另一个原码、反码、补码。我们已经知道计算机中,所有数据最终都是使用二进制数表达。我们也已经学会如何将一个10进...
二进制、八进制、十六进制1第六章 二进制、八进制、十六进制6.1 为什么需要八进制和十六进制?6.2二、八、十六进制数转换到十进制数6.2.1 二进制数转换为十进制数6.2.2 八进制数转换为十进制数...
二进制、八进制、十六进制116.7 本章小结很难学的一章?来看看我们主要学了什么:1)我们学会了如何将二、八、十六进制数转换为十进制数。三种转换方法是一样的,都是使用乘法。2)我们学会了如何将十...
二进制、八进制、十六进制36.2二、八、十六进制数转换到十进制数6.2.1 二进制数转换为十进制数二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:0110 0100,转换为10...
二进制、八进制、十六进制46.2.3 八进制数的表达方法C,C++语言中,如何表达一个八进制数呢?如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123...
二进制、八进制、十六进制86.4 二、十六进制数互相转换 二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。 我...
二进制、八进制、十六进制66.3 十进制数转换到 二、 八、十六进制数 6.3.1 10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢? 10进制数转换成二进制数,这是一个连续除2的过程: 把要...