方法一: 16位的系统下, int i = 65536; cout << i; // 输出0;//装不下,最高位溢出,剩下16位的当然是0; int i = 65535; cout << i; // 输出-1;//-1的补码是65535 而32位的系统下: int i = 65536; cout << i; // 输出65536; int i = 65535; cout << i; // 输出65535; 2.
#include <iostream> using namespace std; #define my_sizeof(L_Value) (char* )(&L_Value + 1) - (char* )&L_Value int main() { int i; double f; double a[4]; double* q; cout<<my_sizeof(i)<<endl;//4 cout<<my_sizeof(f)<<endl;//8 cout<<my_sizeof(a)<<endl;//32 cout<<my_sizeof(q)<<endl;//4 cout<<my_sizeof("aadf")<<endl;//5 system("pause"); return 0; }
(char* )&L_Value返回L_Value的地址的第一个字节,(char* )(&L_Value+1)返回L_Value的地址的下一个地址的第一个字节,所以他们之差为它所占字节数。
发表评论
-
析构函数为虚函数的原因
2012-09-09 11:42 832我们知道,用C++开发的时候,用来做基类的类的析构函数 ... -
hash的应用
2012-08-31 23:02 961第一部分为一道百度面试题Top K算法的详解;第二部分为关 ... -
微软智力题
2012-08-29 19:59 567第一组1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有 ... -
C++不能被继承的类
2012-08-27 20:16 1058一个类不能被继承, ... -
括号对齐问题
2012-08-27 10:47 1410解法一:左右括号成一对则抵消 可以 ... -
树的遍历
2012-08-19 10:43 719/****************************** ... -
堆排序
2012-08-16 14:24 882堆:(二叉)堆数据结构是一种数组对象。它可以被视为一棵完全 ... -
多态赋值
2012-08-14 16:16 832#include <iostream> usi ... -
static变量与static函数(转)
2012-08-13 10:15 746一、 static 变量 static变量大致分为三种用法 ... -
找出连续最长的数字串(百度面试)
2012-08-09 15:15 1146int maxContinuNum(const char*in ... -
顺序栈和链栈
2012-08-06 10:01 799顺序栈:话不多说直接上代码 #include ... -
队列的数组实现和链表实现
2012-08-05 16:20 1024话不多少,数组实现上代码: #include<i ... -
KMP算法详解
2012-08-02 21:40 886KMP算法: 是在一个“主文本字符串” ... -
字符串的最长连续重复子串
2012-08-01 15:05 9777两种方法: 循环两次寻找最长的子串: <方法一> ... -
寻找一个字符串连续出现最多的子串的方法(转)
2012-07-31 21:19 986算法描述首先获得后缀数组,然后1.第一行第一个字符a,与第二行 ... -
字符串的循环移位
2012-07-31 16:52 974假设字符串:abcdefg 左循环两位:cdefgab 右 ... -
一次谷歌面试趣事(转)
2012-07-31 15:26 766很多年前我进入硅谷 ... -
约瑟夫环问题(循环链表)
2012-07-30 21:31 1290题目描述:n只猴子要选大王,选举方法如下:所有猴子按 1, ... -
面试之单链表
2012-07-30 20:18 7271、编程实现一个单链表的建立/测长/打印。 ... -
多重继承内存地址问题
2012-07-30 15:55 726[cpp] view plaincopy ...
相关推荐
然而,指针类型因为需要存储地址信息,其大小通常是固定的,在64位系统中通常占用8个字节,在32位系统中占用4个字节。 现在,笔试题目提出了一个挑战,即不使用sizeof来判断一个数据类型所占内存大小的方法。这种...
sizeof进行结构体大小的判断.sizeof进行结构体大小的判断.sizeof进行结构体大小的判断.
在Delphi编程环境中,开发人员有时需要根据运行时的操作系统类型来编写特定的代码,比如判断当前系统是32位还是64位。这在处理系统资源、注册表路径或者调用不同版本的API时非常关键。下面我们将详细介绍如何使用...
此外,如果你的应用需要频繁进行这种检查,可以考虑使用Windows API函数`IsWow64Process`,但这个函数只能用于判断当前正在运行的进程是否是32位在64位系统下的WoW64子系统下运行。对于检查其他外部文件,仍需使用PE...
例如,`sizeof(int)`通常返回4(字节),假设你的系统中int是32位的。 对于数组,`sizeof`返回整个数组所占的字节数,而不是单个元素的大小。例如,`sizeof(int[5])`将返回20,因为有5个int元素,每个4字节。这里要...
在Delphi编程中,获取Windows操作系统版本信息以及判断系统是32位还是64位是一项常见的任务。这对于软件兼容性和功能实现至关重要。本教程将详细解释如何使用Delphi的内置函数和组件来实现这一目标。 首先,我们...
"delphi 检测系统是xp,vista,win7还是32位,64位"这个标题正是指向了这样的需求。下面将详细解释如何在Delphi中实现这一功能。 首先,我们需要了解Delphi中获取操作系统信息的基本方法。这通常涉及到Windows API...
符号位是指数值的正负符号,判断符号位是进行逻辑处理的基础。下面是获取整数和浮点数符号位的相关知识点。 首先,为什么要获取符号位?在许多情况下,我们需要判断数值的正负,以进行相应的逻辑处理。例如,if (x ...
- `sizeof(ss1)`:返回指针大小,如32位系统中为4字节。 - `sizeof(ss2)`:返回字符串数组的实际大小,包括字符串自身和末尾的空字符。 - `sizeof(ss3)`:返回分配的数组大小,即使只初始化了一部分。 - `sizeof...
### Internet 16位校验和的理解与实现 在计算机网络通信中,数据包的完整性和准确性至关重要。为了确保在网络传输过程中数据不被损坏或篡改,通常会采用各种校验技术来验证数据的完整性。其中,16位校验和...
- `sizeof(p1)`和`sizeof(p2)`都是`4`,因为在32位系统下,指针的大小通常是4个字节。`p1`是一个字符指针,`p2`是一个`void`指针,它们都存储内存地址。 - `sizeof(n)`是`4`,因为`int`类型在32位系统下通常占用4...
例如,有时我们需要判断程序本身是32位还是64位,或者操作系统是32位还是64位。对于程序位数的判断,可以通过预处理符号在编译时进行检查,但这可能会导致代码冗余,特别是当需要获取位数字符串时。此时,可以使用...
### CC++语言中判断数据类型长度符 #### 一、概述 在C/C++语言中,`sizeof`是一个非常重要的关键字,它用于获取一个对象或类型所占用的内存空间大小。这一特性对于深入理解内存管理和数据类型至关重要。下面将详细...
### VC下判断系统版本代码详解 在开发针对多个Windows操作系统的应用程序时,了解目标系统版本是非常重要的。这有助于开发者根据不同的系统版本调整程序的行为或功能,确保应用在各种环境中都能正常运行。本文将...
位运算是一种基础的计算机操作,用于对二进制数进行操作。它可以用于判断奇偶数、取某数中指定位、清零取反、交换两个变量的值等多种场景。 1. 位运算符的应用 (1) 按位与 (&):用于清零特定位,取某数中指定位。 ...
这个宏定义的工作原理是:首先通过`sizeof(a)`获取变量a的大小,然后利用位操作`|`来设置最高位为1,最后比较这个新值是否大于0。对于有符号类型,如果原值为负数,则加上最高位的1后结果仍小于0;而对于无符号类型...
总结来说,判断操作系统通常涉及对系统API的调用、注册表查询、系统文件分析、环境变量检查以及使用内置或第三方工具。正确地识别操作系统版本对于确保软件兼容性和优化性能至关重要。随着Windows家族的不断演进,...
本文将深入探讨32位汇编语言,对比16位汇编,并介绍相关知识点。 首先,我们来了解一下16位实模式和32位保护模式的区别。16位实模式是早期的x86架构模式,具有一个特权级,仅提供1MB的物理内存空间。在这个模式下,...
位运算是一种对二进制数据进行操作的高效方式,在计算机科学领域具有广泛的应用。本文将详细介绍位运算的各种常用操作及其应用场景,并通过具体例子加深理解。 #### 一、位运算基本概念 位运算涉及到的操作主要...
##### 方法三:逐位判断法 这种方法首先检查句点的数量是否为3个,然后将字符串分割成四个部分,分别判断每一部分的值是否在0到255之间。 ```c void isIPaddress(char* str) { char temp[10] = {0}; int i = 0, j...