C++学习笔记:不用sizeof判断int类型占用几个字节


#include <stdio.h>
#include <string.h>

char *change(int val, int base, char *retbuf)
{
static const char *str = "0123456789ABCDEF";
char *p;
char buf[15];

p = buf+14;
*p = 0;

do { *--p = str[val % base]; } while( val /= base );
strcpy(retbuf,p);
return retbuf;
}

int main()
{

int i = 1;

char binbuf[32];
printf("%s %d\n", change(i, 2, binbuf), i);

int sum = 0;
while(0 != i)
{
sum++;
i = i<<1;
printf("%s %d\n", change(i, 2, binbuf), i);
}

printf("sum = %d\n", sum);

}

C++学习笔记:不用sizeof判断int类型占用几个字节,布布扣,bubuko.com

时间: 2024-12-09 20:38:22

C++学习笔记:不用sizeof判断int类型占用几个字节的相关文章

Cocos2dx学习笔记(2) string char* int类型数据转换

1.char*转string char* cp = "char"; std::string sp = cp; 2.string转char* //1 std::string str = "string"; const char* cp = str.data(); //2 std::string str = "string"; const char* cp = str.c_str(); //3 std::string str = "hell

《深入Java虚拟机学习笔记》- 第7章 类型的生命周期

一.类型生命周期的开始 如图所示 初始化时机 所有Java虚拟机实现必须在每个类或接口首次主动使用时初始化: 以下几种情形符合主动使用的要求: 当创建某个类的新实例时(或者通过在字节码中执行new指令,或者通过不明确的创建.反射.克隆和反序列化): 当调用某个类的静态方法时(即在字节码中执行invokestatic指令): 当使用某个类或接口的静态字段,或者对该字段赋值时(用final修饰的静态字段除外,它被初始化为一个编译时常量表达式): 当调用Java API中的某些反射方法: 当初始化某个

[Spring Data MongoDB]学习笔记--_id和类型映射

_id字段的映射: MongoDB要求所有的document都要有一个_id的字段. 如果我们在使用中没有传入_id字段,它会自己创建一个ObjectId. { "_id" : ObjectId("53e0ff0b0364cb4a98ce3bfd"), "_class" : "org.springframework.data.mongodb.examples.hello.domain.Person", "name&q

SHELL学习笔记----IF条件判断,判断条件

SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here       elif list then           do another thing here       else          do something else here fi  EX1: #!/bin/bash if [ `uname -m` == "x86_64" ]

HTML&CSS基础学习笔记4-定义文档类型

定义HTML的文档类型 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面.这就是 <!DOCTYPE> 的用处. <!DOCTYPE> 声明不是 HTML 标签,它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令.是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用置标语言解析器,它应该使用什么样的文档

java 判断int类型为空

int id = 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(id)) || id <= 0) return false; 比如: "0".equals(String.valueOf(定义的int类型参数)) 判断int类型不能为空或不能小于等于0 也可以转换为String 类型进行空值判断. int ; String val = id +&qu

C++ Primer 学习笔记_3_变量和基本类型

 变量和基本类型 引言: 1.各种程序设计语言都具有许多各具特色的特征,这些特征决定了用每种语言适合开发哪些类型的应用程序. 2.大多数现代现代程序设计语言都采用两种方式扩充语言的基本特征集:允许程序员通过自定义数据类型扩充该语言:提供一组库例程,这些例程定义了一些并非内置在语言中的实用函数和数据类型. 3.C++是静态类型语言,支持在编译时执行类型检查. 4.包括C++在内的其他语言允许程序员定义的类型不仅有数据还包含操作! 5.掌握C++的第一步就是学习语言的基本知识和标准库! 6.类型

C#学习笔记第一发---C#基础(类型和基础语法)

首先,数据类型分为值类型和引用数据类型以及指针类型(暂不涉及):值类型是指直接储存在内存的栈上面,引用类型则在栈上储存一个引用,在堆上储存具体的值. 值类型分为内建类型和用户可以自定义的struct类型.enum类型,这些类继承于system.ValueType类,而system.ValueType继承于system.Object类,Object类是所有类的基类. 值类型如int.bool都是通常使用的别名,正式名为system.Int32.system.Boolean. 另外可以用var来命名

Python基础学习笔记(一)变量类型

参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 ? 变量赋值 Python中变量不需要声明,变量赋值操作就是变量声明和定义的过程. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.例子如下: #!/