数据类型转化

数据类型
(1)值类型(13种)
值直接存储在堆栈中,存储空间小,调用速度快(内存)

结构体(数值类型、bool 型、用户定义的结构体),枚举,可空类型

bool类型:true/false 1/0

位:代表取值范围2的多少次方

有无符号:代表的是 是否能够取得负数

0是最小的正整数 -1是最大的负整数

无符号代表不包括负数

byte:8位无符号整数 范围 0—255

sbyte:8位有符号整数 范围 -128—127

int:32位有符号整数 范围 -2,147,483,648—2,147,483,647

uint:32位无符号整数 范围 0—4,294,967,295

(2)引用类型
存储在堆中,存储空间大,调用速度慢(硬盘)

string、object

命名空间>类>对象
变量
(1)定义
一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。

(2)变量的声明
C#中变量定义的语法:

data_type:必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。
variable_list:可以由一个或多个用逗号分隔的标识符名称组成。

一些有效的变量定义如下所示:

int i, j, k;
char c, ch;
float f, salary;
double d;

(3)变量的初始化
变量通过在等号后跟一个常量表达式进行初始化(赋值)。

常量
常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。
常量可以被当作常规的变量,只是它们的值在定义后不能被修改。

计算机存储数据
(1)不同进制的组成和输出
二进制:以 0b 开头,由 0 和 1 组成;
八进制:以 0 开头,由 0-7 组。(C#中没有现成的表示方式);
十进制:默认就是十进制,由 0-9 组成;
十六进制:以 0x 开头,由 0-9+A-F 组成.

(2)进制之间的转换算法
其他进制转十进制
口诀:将所有的位上面的值*进制数的次方连起来既可
以得到十进制
位值:每一个位数上面对应的值
进制数:本身是多少进制,进制数就是多少
次方:从右向左,从 0 开始编号,对应位上面的编号就是改位的次方

 十进制=》十进制

1234=1000+200+30+4 =1*10^3+2*10^2+3*100^1+4*10^0=1234

 二进制=》十进制 0b100100=1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0 =32+0+0+4+0+0=36

 八进制=》十进制 011223=1*8^4+1*8^3+2*8^2+2*8^1+3*8^0 =4096+512+128+16+3=4755

 十六进制=》十进制 0x11c0a=1*16^4+1*16^3+12*16^2+0*16^1+10*16^0 =65536+4096+3072+0+10=72714

 十进制转其他进制 除以要转换的进制数,直至商为 0,余数反转

 将 x 进制转成 y 进制快速转换法

 利用 8421 码(将每个二进制对应的位上计算一个固定的 十进制数) 1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 二进制 2 位数组合

八进制 3 位数组合 十六进制 4 位数组合

例如: 将二进制 0b100100 转成 8 进制 0b100100=>100 100=>4 4=44

将二进制 0b100100 转成 16 进制 0b100100=>10 0100=>2 4=24

 以十进制为桥梁 x 进制>十进制>y 进制

(3)原码、补码、反码
原码:将一个整数转换成二进制,然后最高位用来表示符号位(0表示正数,1 表示负数,其余位表示数值位);

补码:正数的补码和原码一致,负数的补码在反码的基础上末尾+1;

反码:正数的反码和原码一致,负数的反码位数全部取反,除最高位。

简易版计算器

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _1226计算器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //将combobox显示为只读
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            //将textbox显示为只读
            textBox3.ReadOnly = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //将combocox中的文本内容(string)转换为int型
            int a=int.Parse(textBox1.Text);
            int b = int.Parse(textBox2.Text);
            //索引值从0开始
            int rel = comboBox1.SelectedIndex;
            int c = 0;
            if (rel==0)
            {
                c = a + b;
            }
            if (rel == 1)
            {
                c = a - b;
            }
            if (rel == 2)
            {
                c = a * b;
            }
            if (rel == 3)
            {
                c = a / b;
            }
            if (rel == 4)
            {
                c = a % b;
            }
            textBox3.Text = c.ToString();
        }
     }
}

猜你喜欢

转载自blog.csdn.net/qq_43551373/article/details/85270289
今日推荐