工程生成文件格式了解(常用)

工具 文件 作用
vc++6.0 .dsw 最高级别的配置文件,记录了整个工作空间的配置信息,是一个纯文本的文件,创建新项目时自动生成
vc++6.0 .dsp 配置文件,记录一个项目的所有配置信息,纯文本文件
vc++6.0 .plg 实际是一个超文本文件,记录了Build的过程,是一个日志型文件(编译时的error和warning信息文件)
vc++6.0 .opt .opt 工程关于开发环境的参数文件。如工具条位置等信息,也是一个配置文件
vc++6.0 .ncb 缓存文件(无编译浏览文件)
vs .sln 解决方案文件
vs .vcxproj 工程配置文件
vs .vcxproj.filters 筛选器文件,指定哪些是头文件,哪些是source文件等等
vs .vcxproj.user 本地化用户配置

移交文件时,将.cpp.c.h.dsp.dsw移交即可(VC++6.0)

.cpp.c.sln.vcxproj.vcxproj.filters.vcxproj.user移交即可(VS2019)

小知识点

  1. 逻辑和UI分开,不要放在同一个函数中
  2. 一行代码一般不超过80列
  3. 移位比乘法指令周期短,速度快

浮点数转换与编码

浮点数进制转换(十进制转二进制)

整数部分:除以2取余,逆序排列

小数部分:乘2取整,顺序排列

浮点数编码

类型 符号位(最高位)S 指数位E 尾数位M
float 0为正,1为负(1位) 8位 23位
double 0为正,1为负(1位) 11位 52位

其中float指数位以2^(8-1)-1 = 127 为标准(称为偏置值),128的二级制表示为1000 0000

double指数为以2^(11-1)-1 = 1023为标准(称为偏置值),1024的二进制表示为100 0000 0000

补码

求补是一种运算,不区分正负;补码是一种编码规则,区分正负

求补运算:将操作数按位取反后加1(对应汇编NEG指令)

补码:最高位为符号位,0表示正数,1表示负数

正数的补码和原码一样,负数的补码将原码除最高位外,其余按位取反(对应汇编not指令),然后+1

减法转为加法的原理

A - B;				   // A, B 设是一个字节大小, 则一共有 100 个值(100为十六进制值)
A + (100 - B) + 100; // negB = 100 - B
A + negB - 100; // B + ~B = FF
// B + ~B + 1 = 100
// ~B + 1 = 100 - B
negB = notB + 1 // not 与 ~ 都是按位取反

C-03\浮点数转换与编码和补码的更多相关文章

  1. Mac下用命令行直接批量转换文本编码到UTF8

    由于近期在Mac下写Android程序,下载的一些Demo由于编码问题源码里的汉字出现乱码,文件比较多,所以想批量解决下文件的编码问题. Mac下有以下两种方式可以解决: A. 文件名的编码:Mac的 ...

  2. javascript将浮点数转换成整数的三个方法

    浮点数转换成整数方法有很多,本例为大家介绍常用的三个方法,如果读者想到其他好用方法,也可以交流一下   Summary 暂时我就想到3个方法而已.如果读者想到其他好用方法,也可以交流一下 parseI ...

  3. javascript浮点数转换成整数三种方法

    将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如果读者想到其他好用方法,也可以交流一下 parseInt位运算符Math.floor Math.ceil ...

  4. Java工具类-转换字符编码

    package common; /** *字符串处理公用类 */ public class DealString { /** * 转换字符编码 由“iso-8859-1”西文转换为简体中文 */ pu ...

  5. delphi 浮点数转换成十六进制字符串的方法

    我们在研究封包技术时,经常会碰到将浮点数转换成十六进制形式.比如在游戏中人物的座标,经常就用浮点数来表示.怎么将浮点数转换成十六进制字符串形式呢?下面我将写出其在DELPHI中的方法.       先 ...

  6. php转换字符编码为utf-8

    php转换字符编码为utf-8 function strToUtf8($str){ $encode = mb_detect_encoding($str, array("ASCII" ...

  7. qt开发的小软件,可以递归转换文件编码(qt为了防止内存泄露所做的保护机制)

    应用场景 当你下载别人的源码的时候,而别人的源码跟你自己电脑里面的编码不一致的情况下将会出现乱码,但是如果要一个个转换编码的话那么那样所需要花的时间太多,所以就有必要写一个软件递归遍历项目下面所有的文 ...

  8. python3 使用int函数将浮点数转换成整数

    int函数将浮点数转换成整数需要注意的地方 >>> int(153)153>>> int(153.4)153>>> int(153.5)153&g ...

  9. InputStreamReader介绍&代码实现和转换文件编码_练习

    InputStreamReader介绍&代码实现 package com.yang.Test.ReverseStream; import java.io.FileInputStream; im ...

  10. 在Linux下使用iconv转换字符串编码

    在Linux下写C程序,尤其是网络通信程序时经常遇到编码转换的问题,这里要用到iconv函数库. iconv函数库有以下三个函数 123456 #include <iconv.h>icon ...

随机推荐

  1. 基于Spring的发布订阅模式 EventListener

    基于Spring的发布订阅模式 在我们使用spring开发应用时,经常会碰到要去解耦合一些依赖调用,比如我们在做代码的发布流程中,需要去通知相关的测试,开发人员关注发布中的错误信息.而且通知这个操作又 ...

  2. 成熟企业级开源监控解决方案Zabbix6.2关键功能实战-下

    @ 目录 实战 Zabbix server源码安装使用示例 部署 配置 Zabbix agent2使用示例 部署 配置 Zabbix proxy使用示例 部署 配置 自定义监控使用示例 触发器使用示例 ...

  3. [leetcode] 994. Rotting Oranges

    题目 You are given an m x n grid where each cell can have one of three values: 0 representing an empty ...

  4. C#通过unsafe来操作指针

    这里不介绍unsafe的理论,这里单单介绍它的用法.如果要了解的更具体,可以看这篇大神的博文:C#通过指针操作图像 先从一个很简单的例子介绍: private void TestInptr() { u ...

  5. 软件开发-客观综合(GO)

    1 对从go源码和汇编源码生成可执行程序的过程,下面描述错误的是() ​A. 使用go tool compile可以将go源码编译成目标文件 B. 使用go tool asm可以将go源码编译成汇编代 ...

  6. Devexpress控件pivotGridControl显示字段面板

    可在窗口加载的时候使用函数 pivotGridControl1.ShowCustomization(); 大家如果有问题可以 Console.WriteLine("加群"+&quo ...

  7. windows10 设置VS一类的不提供兼容性视图的程序默认管理员启动

    选择兼容性疑难解答: 选择疑难解答程序: 下一步后保存即可.

  8. MICCAI 论文投稿须知翻译

    MICCAI 论文投稿须知翻译 以MICCAI 2021 PAPER SUBMISSION AND REBUTTAL GUIDELINES为例,每年投稿须知类似 作者信息和rebuttal 本文件包含 ...

  9. Task01:Matplotlib初相识

    一.明晰绘制一张图的组成条件 Figure:最基本的一级 Axes:在Figure上创建子图的容器(如果Figure中仅含一子图,则该容器可省略) Axis:用于处理子图上和坐标轴和网格相关的元素 T ...

  10. USB限流,短路保护芯片IC

    USB口的输出电压一般是5V,在一些电源中,由于总电源5V是一个很大的总电源,再分别出很多路输出负载出来,例如5V10A,分成4个USB输出口,如果没加其他限流和保护的话,任意一个USB口的输出电流都 ...