用C++语言如何判断你的系统是64位的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C++语言如何判断你的系统是64位的相关的知识,希望对你有一定的参考价值。
参考技术A 上面都没考虑编译器的限制64位系统一样可以使用32位编译器
而且就算是64位编译器也可能为了保持兼容性使用半字长来存储整数
要调用windows api的
#include <windows.h>
#include <stdio.h>
BOOL IsWow64()
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS fnIsWow64Process;
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetModuleHandle(L"kernel32"),"IsWow64Process");
if (NULL != fnIsWow64Process)
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
return FALSE;
else
return TRUE;
return bIsWow64;
参考资料:http://blog.sina.com.cn/s/blog_4e0c21cc0100gj6d.html
参考技术B #include "stdio.h"void main()
printf("%X", 7777777777777777777);//输一个能存下的超大数
若输出有16位是64位机 参考技术C #include<stdlib.h>
#include<iostream>
#include<stdio.h>
void main()
std::cout<<"您用的是"<<
8*sizeof(int)<<"位系统"<<std::endl;
system("pause");
c语言如何判断输入的字符串是不是有汉字
参考技术A 这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.
例如:汉字“啊”的汉字机内码为B0A1H
表示成双字节是这样的10110000 10100001
本程序用的就是判断最高位的方法。
int is_zh_ch(char p)
if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。
return 0; //代表不是汉字
return -1;
本回答被提问者和网友采纳
以上是关于用C++语言如何判断你的系统是64位的的主要内容,如果未能解决你的问题,请参考以下文章
如何系统地学习 C++ 语言从开发环境到C++进阶,应该怎么办?
我的C/C++语言学习进阶之旅 通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS/iOS/Android等