而Int16,Int32,Int64是特定于CLR公共语言运行时的写法,在.NET的编程规范中推荐使用此种写法,而代替Int.
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的城关网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
对于64位程序开发,并不是说写成int或者非Int64就不能执行于64位元的 CPU上,因为我们所写的都是ManagedCode(托管代码),能否运行于64位元CPU上,是依赖于.Net FrameWrok本身,所以如果需要在64位元的CPU上运行托管代码,直接下载相应的.Net Framewrok 64位元版本就可以了.(当然虽然如此,64位平台的程序的开发也依旧充满了许多尚未解决的问题)
引.NET设计规范一书的原文如下:
在程序设计中尽量避免使用语言特有的名字,对那些所谓的基本类型,CLR(公共语言运行时)平台上的编程语言(C#,VB.NET)都有自己的别名来称呼他们,比如Int是C#中对于Int32的别名,但是为了确保框架能够充分利用跨语言协作--CLR的核心特性之一,应尽量避免在标识符中使用语言特有的类型名.
即别名没有增添任何价值,而反而会引起大量的混淆.
最后是我关于前2个问题的结语:
因该尽量使用CLR类型的名称,如下
Int16,UInt16,Int32,UInt32,Int64,UInt64.
前三个为有符号整形,后三个为无符号整形.
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim line As String
Dim isnumber As Boolean
Dim i As Int16
Dim f As FileStream
Dim ff As FileStream
ff = New FileStream("c:\数据1.txt", FileMode.OpenOrCreate)
f = New FileStream("c:\数据.txt", FileMode.Open)
Dim rf As StreamReader
rf = New StreamReader(f)
Dim fw As StreamWriter
fw = New StreamWriter(ff)
Do
line = rf.ReadLine
If line = "" Then Exit Do
isnumber = True
For i = 1 To line.Length
If IsNumeric(Microsoft.VisualBasic.Mid(line, i, 1)) = False Then
isnumber = False
Exit For
End If
Next
If isnumber Then
'line = Microsoft.VisualBasic.Left(line, 4) '取左边4个
'line = Microsoft.VisualBasic.Mid(line, n, n) 取中间几个
fw.WriteLine(line)
End If
Loop
fw.Close()
rf.Close()
ff.Close()
f.Close()
End Sub
End Class
在form上放一个button,在c:\数据.txt里放入你要读取的数据,点击button,会生成c:\数据1.txt。里边就是你要的数据了,根据你的需要把
'line = Microsoft.VisualBasic.Left(line, 4) '取左边4个
'line = Microsoft.VisualBasic.Mid(line, n, n) 取中间几个
前边的引号去掉就可以满足你的要求了。
程序在win7 64x VB2005条件下测试没有问题。
Module Module1
Sub Main()
Console.WriteLine(DateTimeAdd("01:23:45"))
Console.ReadLine()
End Sub
''' summary
''' 获取时间的累加值
''' /summary
''' param name="sDatetime"/param
''' returns/returns
''' remarks/remarks
Private Function DateTimeAdd(ByVal sDatetime As String) As DateTime
Dim sysTime As DateTime = DateTime.Now
Return sysTime.Add(TimeSpan.Parse(sDatetime))
End Function
End Module
把字符串“12341168C5B7”转换为16进制数存为string型
用shuzi=Convert.ToInt32("12341168C5B7",16)
就ok了。
反之用 shuzi.ToString("X")就行了。
给分!!!
12341168C5B7转换成10进制数就是20014839678391。。
而int32的最大值为2,147,483,647。。所以产生错误。
所以要用int64,它的最大值为9,223,372,036,854,775,807。也就是16位十六进制数0X7FFFFFFFFFFFFFFF。
难道还有比F靠后的数??????
长度分别为16位(2字节)和32位(4字节)最大数值65536,可以将扩展的字节数据类型视为长度为8位的无符号整数。
Integer是类型为int的32位整数,long是64位整数,表示范围:-2^63~2^63-1-long是长整数。
在32位机器中,有符号的基本int的范围是-32768到32767(-2^15--2^15-1)。
他们之间没有多大区别。VB是常用的数据类型。
扩展资料:
长整数在C语言:
Int是C语言的基本整数类型,它可以满足我们处理一般数据的需要。C还提供了四个可以修改int的关键字:short、long、signed和unsigned。
使用这四个关键字,C语言标准定义了以下整数类型:
1.短整型,就像整型一样,是有符号整数。
2.longint(缩写:long),带符号整数。
3.LongLongint(缩写:LongLong),由C99标准增加的类型,带符号整数。
4.无符号整型(简称:无符号),无符号整数,不能表示负数。
5.无符号长整型(缩写:无符号长型)。
你不能代表一个负数。
6.无符号短整型,无符号整数,不能代表一个负数。
7.unsignedlonglongint添加类型,无符号整数。
8.默认情况下,所有无符号整数类型都是有符号整数。在这些整数类型前面签名可以让读者更清楚地看到它们这些是有符号整数,尽管有符号或无符号表示有符号整数。例如:有符号的int等于int。
注意,C只指定了短的= int =long int.这取决于编译器。Long int并不总是64位的,很多时候Long int和int的范围是相同的。