《C语言基础日常笔记》
1. 类型转换-----------------20130902
a, 浮点数(包括单精度与双精度)赋值给整型变量时,舍弃浮点数的小数部分,直接将其整数部分存放在整型变量里。
b, 整型变量赋值给浮点数(包括单精度与双精度)时,数值不变,但会以浮点数形式保存到变量里。
c, 将一个double型数据赋值给float型变量时,截取其前面7位有效数字,存放在float的存储单元中。
d, 无符号char型赋值给整型变量时,则将其char型的8位直接放到int的低8位中,高8位补0。
e, 有符号char赋值给int时,则将其char型的8位直接放到int的低8位中,如果字符最高位(即符号位)为1,高8位补1,相反,如果符号位为0,则高8位补0。
f, 将一个int,short,long赋值给一个char时,只要将其低8位拷贝到char型即可。
g,有符号int 赋值给long时,也要进行符号扩展。与类似,假设int 占2个字节,long 占4个字节,则将Int直接赋值到低16位,高16位则根据int的符号位的1,0分别全部补为1或者0.
h,将无符号int赋值给long 时,不存在符号扩展,直接将其拷贝在低16位,高16位补0即可。
i, 将无符号数据赋值给等长度的有符号变量时,直接拷贝即可。
总结: 相对的短类型变量赋值给长类型变量时,将短类型变量直接拷贝到长类型变量的低位,而高位是否需要进行符号扩展,则根据该短类型变量是否是有符号的来决定,如果是有符号的,则根据该变量符号位的值1或者0,将其高位全部设置为1或者0,如果是无符号的,则不需要扩展,高位直接补0即可。
2. 整型常理的表示方法:
a. 八进制整数,以0开头的数是八进制整数,如0123表示八进制数123,换为十进制为83,-011表示八进制-11,即十进制-9.
b. 十六进制整数,以0x开头的是十六进制整数,如0x123。
3. 负数的补码与原码的求值:补码--->原码:各位取反加1,原码---->补码:绝对值各位取反加1.
4.
《C语言基础日常笔记》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Reverse engineer powerdesigner link odbc
Reverse engineer powerdesigner link odbc Option Explicit ValidationMode = True Interactive ...
- Java LRU的实现
最近在leetcode上做题的时,看到了一道有关LRU Cache的题目,正好我当初面试阿里巴巴的时候问到的.主要采用linkedHashMap来实现. package edu.test.algori ...
- java并发编程之一--Semaphore的使用
1.介绍 Semaphore 中文的含义 信号,信号系统,此类的只要作用就是限制线程的并发的数量. Semaphore内部主要通过AQS(AbstractQueuedSynchronizer)实现线程 ...
- C++17中那些值得关注的特性(上)
C++17标准在2017上半年已经讨论确定,正在形成ISO标准文档,今年晚些时候会正式发布.本文将介绍最新标准中值得开发者关注的新特新和基本用法. 总的来说C++17相比C++11的新特性来说新特性不 ...
- 利用 Create React Native App 快速创建 React Native 应用
本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...
- tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数
tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数 ...
- Python windows serial
Python windows serial 一.参考文章: Serial port programming http://www.cnblogs.com/2zhyi/p/3405339.html py ...
- .net中的Dictionary字典类的使用方法
//定义字典 Dictionary<string, string> d = new Dictionary<string, string>(); //添加字典的元素 ; i &l ...
- 常见web安全攻防总结
Web 安全的对于 Web 从业人员来说是一个非常重要的课题 , 所以在这里总结一下 Web 相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助.今天这边文章主要的内容就是分析 ...
- redis的maxmemory与maxmemory-policy关系
如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM.r ...