SQL SERVER的浮点数类型
“少吃不会死”通过精心收集,向本站投稿了6篇SQL SERVER的浮点数类型,以下是小编帮大家整理后的SQL SERVER的浮点数类型,仅供参考,大家一起来看看吧。
篇1:SQL SERVER的浮点数类型
SQL SERVER:
float 与 real
7位数或15位数,这里说的位数,不是指小数位,而是包括整数和小数在内的位数。
float的位数是多少,要看float[(n)]里的n数值是多少。
n value 精度 存储大小
1-24
7 位数
4 字节
25-53
15 位数
8 字节
注意:
SQL Server 将 n 视为下列两个可能值之一。如果 1<=n<=24,则将 n 视为 24。如果 25<=n<=53,则将 n 视为 53。
(是不是很怪异)
如果不写这个n,默认n是53,即15位。
real 的 ISO 同义词为 float(24),也就是7位了。
[sql]
declare @f float(18) = 12345.0123456789
,@f2 float(18) = 1234567.0123456789
,@f3 float(18) = 123456789.0123456789
,@f4 float(53) = 123456789.01234567890123456789;
declare @r real = 1234567.01234567890123456789;
select @f as [f],@f2 as [f2],@f3 as [f3],@f4 as [f4],@r as [real];
f f2 f3 f4 real
12345.01 1234567 1.234568E+08 123456789.012346 1234567
decimal和numeric
带固定精度和小数位数的数值数据类型。
decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )]
固定精度和小数位数,
使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 ISO 同义词为 dec 和 dec(p, s)。numeric 在功能上等价于 decimal。
p(精度)
最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。
s (小数位数)
小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。
精度 存储字节数
1 - 9
5
10-19
9
20-28
13
29-38
17
www.dnzg.cn
可见,decimal和numeric可以指定小数位数。如果不指定,默认是不带小数。
[sql]
declare @d decimal = 12.0123456789,@d2 decimal(5,3) = 12.0123456789;
select @d as [d],@d2 as [d2];
d d2
12 12.012
money和smallmoney
代表货币或货币值的数据类型。
数据类型 范围 存储
money
-922,337,203,685,477.5808 到 922,337,203,685,477.5807
8 字节
smallmoney
-214,748.3648 到 214,748.3647
4 字节
注释
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。
也就是说,money和smallmoney的小数位固定是4位。
[sql]
declare @m money = 123456789.0123456789;
select @m as [money];
money
123456789.0123
篇2:SQLServer数据库文件碎片
SQLServer数据库文件碎片整理
SQLServer数据库在使用时间久之后,往往数据文件及日志文件会变得很大,有时候甚至高达十几G,这个时候一般做法是裁断日志以缩小日志文件、归档历史记录到新数据库或备份文件以便释放空间,然后执行收缩数据库命令来缩小数据文件大小,然而收缩命令经常并不会有太大的作用,因为收缩是以区为单位进行的,并不会对页进行整理,如果数据库上有很多碎片,如一个可容纳8个页的区实际上只存放1个页,就会造成大量磁盘空间浪费并且无法收缩。
SQLServer磁盘碎片整理的目的在于,通过重建聚集索引或重建堆自增列的方式,以页为单位进行磁盘空间整理,然后再使用收缩命令收缩数据库文件,真正意义上实现了数据库的完全收缩。
以下存储过程在MSSQL上测试通过,由于需要读写操作和表锁定,请避免在数据库繁忙时段运行。
Sql代码
/* 读取磁盘分区信息 */
CREATE PROCEDURE SP_ExtentInfo
AS
DBCC ExtentInfo(0)
GO
/* SQLServer磁盘碎片整理 */
CREATE PROCEDURE SP_ShrinkSpaces
(
@UsagePercent numeric(2,2) = 0.60
--整理小于指定使用率的表空间,1为100%使用率无需整理
)
AS
BEGIN
--创建保存分区信息的临时表
Create Table #ExtentInfo
(
fileid smallint,
pageid int,
pg_alloc int,
ext_size int,
obj_id int,
index_id int,
partition_number int,
partition_id bigint,
iam_chain_type varchar(50),
pfs_bytes varbinary(10)
)
insert into #ExtentInfo exec SP_ExtentInfo
--使用游标,对小于指定空间使用率的表进行整理
declare @Table sysname
declare @Index sysname
declare @IdentityName sysname
declare @sql varchar(1000)
declare cs cursor for
select (select name from sysobjects where id=obj_id and xtype='u'), --xtype='u'的记录为数据表
(select name from sysindexes where id=obj_id and indid=1) --indid=1的记录为聚集索引
from #ExtentInfo group by obj_id
having sum(pg_alloc)*1.0/max(ext_size)/count(*)<=@UsagePercent
open cs
fetch next from cs into @Table,@Index
while @@FETCH_STATUS=0
begin
if @Table is not null
begin
if @Index is not null
begin
--重建聚集索引
set @sql = 'alter index ' + @Index + ' on ' + @Table + ' rebuild'
print @sql
exec(@sql)
end
else
begin
--对于堆,清空并重新写表或给自增列加聚集索引(128代表自增列)
select @IdentityName=name from syscolumns where id=OBJECT_ID(@Table) and status=128
if @@ROWCOUNT=0
set @sql = 'select * into #ExtentTable from ' + @Table + ' truncate table ' + @Table + ' insert ' + @Table + ' select * from #ExtentTable'
else
set @sql = 'create clustered index ExtentOperaPrimaryKey on ' + @Table + '(' + @IdentityName + ') drop index ' + @Table + '.ExtentOperaPrimaryKey'
print @sql
exec(@sql)
end
end
fetch next from cs into @Table,@Index
end
close cs
deallocate cs
--收缩当前数据库
DBCC SHRINKDATABASE(0)
--重新获取分区信息
truncate table #ExtentInfo
insert into #ExtentInfo exec SP_ExtentInfo
--显示当前分区信息
select fileid,obj_id,index_id,partition_id,ext_size,
object_name(obj_id) as '对象名',
count(*) as '实际区数', sum(pg_alloc) as '实际页数',
ceiling(sum(pg_alloc)*1.00/ext_size)*ext_size as '最大可用页数',
ceiling(sum(pg_alloc)*1.00/ext_size*100.00/count(*)) as '表空间使用比率'
from ExtentInfo
group by fileid,obj_id,index_id,partition_id,ext_size
order by partition_id,obj_id,index_id,fileid
--删除临时表
drop table #ExtentInfo
END
GO
篇3:SQLSERVER命令总结
SQL SERVER命令总结
查询语句:
SELECT [ALL/DISTINCT][TOP]
<目标列>[as 别名][,<目标列1>as 别名]…目标列1>目标列>
FROM <表名或视图名>[as 别名]…表名或视图名>
[WHERE 条件表达式…]
[GROUP BY <列名1>[HAVING<条件表达式>]]条件表达式>列名1>
[ORDER BY<列名2>[ASC/DESC]]列名2>
应该注意:SELECT语句的顺序:
SELECT-->FROM-->WHERE-->GROUP BY-à HAVING àORDER BY
SELECT INTO:生成新表格
DISTINCT:唯一
GROUP BY:分组汇总
ORDER BY:排序,默认情况下为升序.
ASC:升序
DESC:降序
AS:起别名
HAVING:筛选分组汇总后的行
SELECT TOP n
SELECT TOP n PERCENT*FROM<表名>:表示按一定的百分比提取表名>
LIKE:模糊查询,仅于CHAR或是VERCHAR以及通配符连用
其他模糊查询:
IN:用于返回给定的值与列表中的值相匹配的行
BETWEEN…AND…:在..之间查询
IS NOT NULL:查询不为空的数据
查询中使用的常量:一般与 “+”连用.起到一个组合的目的
注意
1. SELECT后面的字段如果不包括聚合函数,必须参加分组(GROUP BY
2. GROUP BY后面不能使用聚合函数
3. 查询时,可以使用2个聚合函数
使用INSERT插入数据
ü 添加完整记录:
INSERT [INTO]<目标表名>VALUES
VALUES:字段值列表(顺序与建表的顺序必须一样)
ü 添加不完整记录:
INSERT [INTO]<目标表名>(字段名列表)VALUES<字段值列表>字段值列表>目标表名>
特别的记住:字段名列表和字段值列表是一一对应的.即后面的字段值随着前面的字段名的改变而改变.
另一种方法:
语法:INSERT<表名>SELECT
还可以将数据有选择性的添加到另一个表中
语法:INSERT INTO Sales(Stor_id)SELECT stor_id FROM Stores
UPDATE语句
更新一行:
UPDATE<新表名>SET<目标列 值=“值”>[WHERE<条件>](范围)条件>目标列>新表名>
更新多行:
UPDATE<表名>SET<目标列 值=“值”>;{<---没有WHERE}目标列>表名>
更新一行和更新多行的区别在于有没有WHERE的存在
DELETE语句
1:删除一行:
语法:DELETE FROM<表名>[WHERE<条件>]条件>表名>
2:删除多行:
语法:DELETE FROM<表名>表名>
删除一行和删除多行区别在于有没有WHERE的存在
3:TRUNCATE TABLE
用于删除表中所有行的命令.DROP删除表
与DELETE的区别在于:TRUNCATE不写日值文件,无法恢复数据
JOIN语句 联接信息:
Table_a AS table_alias_a JOIN table_b AS table_alias_b
On
table_alias_a .
?--------------------公共字段---------------------------à
A:内联接
INNER JOIN:查询两个表中的公共部分
B:外联接
左外联接:left OUTER JOIN
右外联接:right OUTER JOIN
完整联接:FULL OUTER JOIN
C:自联接
创建表的结构
1.名称:表名 字段名
2.数据类型: 系统定义的
用户定义的: exec sp_addtype 用户定义的数据类型名 , 数据类型(系统有的),not null(是否允许为空)
3.大小:
4.约束:
主键约束 PRIMARY KEY create table 表名(字段 数据类型 primary key /
primary key(字段…))
唯一约束 UNIQUE create table 表名(字段数据类型 unique)
默认约束DEFAULT create table 表名(字段 数据类型 default ‘值/表达式’)
检查约束 CHECK create table 表名(字段 数据类型 check (字段的表达式)
外键约束 FOREIGN KEY create table表名(字段 数据类型 foreign key references(应用) 另一个表名(字段))
更新表的结构
1.修改数据类型:alter table 表名 alter column 列名 数据类型
2.添加一列: alter table 表名 add 列名数据类型
3.删除一列: alter table 表名 drop column 列名
4.增加约束: alter table 表名 add constraint 约束名 约束表达式
主键约束: primary key(列名列表)
唯一约束: unique(列名)
默认约束: default ‘值’for 列名
检查约束: check (列的检查约束表达式)
外键约束: foreign key(列名)references 表名(列名)
删除表的结构
drop table 表名
子查询
Select 字段 from 表(select查询)
子查询就是内层查询产生一个用于外层查询的条件
子查询经常使用的是条件运算符(>,<,<=,>=,=,!=)
子查询与in联合使用经常用于判断一列数据
子查询与exists联合使用经常用于判断一张表的字段
触发器
1,触发器:是一种特殊存储过程,它能对有触发器的表中的数据进行保护.
2。触发器主要通过操作事件(insert,update,delete)进行触发而被自动执行,
不能被调用,也不能传递参数
3。a)触发器根据数据修改语句可分为:insert触发器,update触发器,delete触发器
b)根据引起触发时刻可分为after触发器,instead触发器。
i.after触发器是在执行数据操作之后激发
ii.instead of 触发器是在执行数据操作之前激发
iii.一个表可以建立多个after触发器,可以建立一个instead of触发器
触发器中的inserted表和deleted表
1。触发器运行后在内存中自动创建。
2。他们用于对触发器执行后某些数据的测试条件
3。用户不能直接操作2个表
4。delete触发器将删除的内容放在deleted表中。
insert触发器将添加的内容存在inserted表中。
update触发器将替换前的内容放在deleted表中,将替换后的新内容放在inserted表中。
创建触发器:
CREATE TRIGGER 触发器名
ON 表名/视图名
FOR 触发器类型
AS
……T-SQL语句
例如:
/*如果被删除的学生有考试成绩的话,就不允许删除这个学生*/
create trigger t_stu
on tbl_stu
for delete
begin
declare @id int
select @id = stuid from deleted
if exists(select * from tbl_cj where stuid = @id)
begin
print '学生有成绩,不可删除!!'
rollback transaction
end
end
delete tbl_stu where stuid = 1007—当删除时,看消息框提示
删除触发器:drop trigger 触发器名
例如:drop trigger t_stu
修改触发器:将创建触发器的create关键字更换成alter
存储过程
存储过程:是存储在salserver服务器中的一组预编译过的t-sql语句,当第一次调用后,就驻留在内存中,以后调用时不必再进行编译。优点在于一次编写,多次调用。调用过程在服务器端执行,执行速度快。
存储过程分为:系统存储过程,系统存储过程。
存储过程语法:
create procedure 存储过程名 @参数 参数类型
as
任意数量的T-SQL语句
例如:
create procedure stu_name @stuname char(10)
as
select * from stu
调用存储过程 exec 存储过程名 参数
例如:exec stu_name 'aa'
事务
--显示事务
Create table aaa
(
Aid int ,
Aname char(10),
Asex char(2) check(asex in (‘m’,’n’))
)
Set xact_abort on
Begin transaction
Intsert into aaa values(101,’aa’,’n’)
Intsert into aaa values(102,’bb’,’m’)
Intsert into aaa values(103,’cc’,’n’)
Intsert into aaa values(104,’dd’,’a’)
Intsert into aaa values(105,’ee’,’m’)
If @@error = 0
Commit
Else
Rollback
Go
Select * from aaa
Drop table aaa
--隐性事务
Set xact_abort on
Set implicit_transactions on
Create table aaa
(
Aid int ,
Aname char(10),
Asex char(2) check(asex in (‘m’,’n’))
)
Intsert into aaa values(101,’aa’,’n’)
Intsert into aaa values(102,’bb’,’m’)
Intsert into aaa values(103,’cc’,’n’)
Intsert into aaa values(104,’dd’,’a’)
Intsert into aaa values(105,’ee’,’m’)
Commit
--默认提交事务
Create table aaa
(
Aid int ,
Aname char(10),
Asex char(2) check(asex in (‘m’,’n’))
)
Intsert into aaa values(101,’aa’,’n’)
Intsert into aaa values(102,’bb’,’m’)
Intsert into aaa values(103,’cc’,’n’)
Intsert into aaa values(104,’dd’,’a’)
Intsert into aaa values(105,’ee’,’m’)
/*-------------------------------------------------------------------
Commit :提交事务中的一切操作,使得事务对数据库的修改有效
Rollback:回滚事务中的一切操作,使得事务对数据库的操作无效
--------------- ---------------------------------------------------
事务控制语句
1. 设置隐性事务模式
1) set implicit_transactions on启动隐性事务模式
2) set implicit_transactions off 关闭隐性事务模式
2. 设置自动回滚模式
1) set xact_abort on 当事务中任意一条语句产生运行时错误,整个事物将中止,并整体回滚,
2) set xact_abort off 当事务中语句产生运行时错误,将中止本条语句并且回滚本条语句。
注意:set xact_abort 的设置是在执行或运行时设置,而不是在分析时设置。
--------------------------------------------------------------
首次执行下列语句都会自动启动一个隐性事务:
Alter table,create,delete,drop,fetch(读取),grant(授予),insert,open,revoke(撤销),select,truncate table,update
事务中不可以使用的语句:
1. 数据库创建:create database
2. 数据库修改:alter database
3. 数据库删除:drop database
4. 数据库备份:dump database,backup database
5. 数据库还原:load database,restore database
6. 事务日志备份:dump transaction,backup log
7. 事务日志还原:load transcation,restore log
8. 配置:reconfigure
9. 磁盘初始化:disk init
10. 更新统计数据:updata statistics
11. 显示或设置数据库选项:sp_dboptin
游标
游标:允许用户能够从select语句查询的结果集中,逐条访问纪录,可以根据用户需要逐行的显示、修改、删除这些记录的数据访问处理机制。(游标就是数据表上的指针)
使用游标的步骤:
(1) 声明游标
declare 游标名 cursor for select 语句
(2) 打开游标
open 游标名
1) 当游标被打开时,指针会自动指在第一行;
2) 打开游标后,如果@@error=0表示游标打开操作成功;
3) 打开游标后,可以用@@cursor_rows返回纪录行数;
(3) 处理数据:
a) 移动到当前行并读取数据
fetch游标名
b) 删除当前行数据
delete from 表名/视图名 where current of游标名
c) 修改当前行数据
update from表名/视图名 set 列名=表达式 where current of 游标名
(4) 关闭游标
close 游标名
(5) 释放游标
deallocate 游标名
游标类型:
(1)static:静态,当用户A察看表中记录的同时,如果有用户B修改表中记录,A用户将不会看到B修改的纪录,只看A使用open打开表时所看到的纪录。
(2)Dynamic:动态,当用户A察看表中记录的同时,如果有用户B修改表中记录,A用户将看到B修改的纪录,也就是表中记录会不断的刷新,但是会耗费较大的系统资源。
(3)Forward Only:仅向前,游标仅能向前滚动。
(4)Scroll:滚动,游标可以前后左右滚动。
select * from student
/*打开游标,读取数据*/
declare c_stu cursor keyset for select * from student
open c_stu
if @@error = 0
print '学生总数' + convert(char(5),@@cursor_rows)
else
print '读取学生数出错!'
close c_stu
deallocate c_stu
---------------------------------------------------------------------------------------------------------
--keyset:键集游标,当游标打开时,在tempdb数据库中自动创建keyset表,用来记录游标读取的数据(仅纪录表示字段)
---------------------------------------------------------------------------------------------------------
/*使用游标处理数据*/
--使用游标,在表中逐行读取
select * from student
declare c_stu cursor for select * from student
open c_stu
fetch next from c_stu
while @@fetch_status = 0
fetch next from c_stu
close c_stu
deallcoate c_stu
-------------------------------------------------------------------------------------------------------
--fetch的使用
--1.first:移动到第一行,并作为当前行
--2.next:移动到下一行,并作为当前行
--3.prior:移动到上一行,并作为当前行
--4.last:移动到最后一行,并作为当前行
--5.absolute n:n>0时,从第一行开始,移动n行,作为当前行,n<0时,从最后一行倒数n行,作为当前行。
--6.relative n:n>0时,从当前行正数移动n行,作为当前行,n<0时,从当前行倒数n行,作为当前行。
--7.打开游标后第一次执行fetch next可以得到表中第一条数据,执行fetch prior得不到任何数据
--8.可用@@fetch_status返回执行fetch操作后游标的状态:
---- 0表示成功读取。
---- -1表示读取操作超出结果集。
---- -2表示行在表中不存在。
-------------------------------------------------------------------------------------------------------
--修改数据,将数据表中的第2行数据的姓名改成“张三”
select * from student
declare c_stu cursor for select * from student
open c_stu
fetch c_stu
fetch c_stu
update student set sname = '张三' where current of c_stu
close c_stu
deallocate c_stu
------------------------------------------------
--update student set sname = '张三' where current of c_stu
--如果去掉where current of c_stu,不进行指定,将更新表中所有字段
------------------------------------------------
--删除数据,将表中第2行数据删除
select * from student
declare c_stu cursor for select * from student
open c_stu
fetch c_stu
fetch c_stu
delete from student where current of c_stu
close c_stu
deallocate c_stu
函数
/*--------------------------------------
自定义函数的种类:
√ 1.标量函数
√ 2.内嵌表函数
3.多语句表值函数
---------------------
标量函数基本语法
create function 函数名
returns 返回的参数类型 as
begin
函数体
return 函数返回的标量值
end
--------------------------
内嵌表函数语法
create function 函数名
returns table as
return (select查询语句)
-------------------------------------*/
/*----------------------------------------
注意:函数是可以带参数的,但是参数不可以是:
1.时间戳(timestamp)
2.游标(cursor)
3.表(table)
----------------------------------------*/
/*------------------------------------------------------------------------
标量函数
create function chinacode(@str varchar(255))
returns char(2) as
begin
declare @i int,@j int
set @i = len(@str)
set @j = 1
while (@j<=@i)
begin
if(unicode(substring(@str,@j,1))<256)
return '否'
set @j = @j + 1
end
return '是'
end
select dbo.chinacode('我是中国人')
select dbo.chinacode('我,是中国人')
select dbo.chinacode('ilovechina')
-------------------------------------------------------
substring(expression , start , length ) 字符串截取函数
expression :字符串
start :是一个整数,表示截取的位置
length :是一个整数,表示一次截取的长度
-------------------------------------------------------
-------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
内嵌表函数
-------------------------------------------------------------------------
1.内嵌表
create function age(@maxage int,@minage int)
returns table as
return(select * from tbl_stu where stuage < @maxage and stuage >@minage)
select * from age(13,11)
------------------------------------------------------------------------
2.内嵌视图
create function grade(@ss float)
returns table as
return(select * from stu_cj_view where sumscore >@ss)
select * from grade(200)
-------------------------------------------------------------------------*/
/*---------------------------------------
修改函数
把create function写成alter function
删除函数
drop function 函数名
----------------------------------------*/
篇4:Java连SqlServer
驱动是一个exe的文件,运行之后,会提示选择解压目录,选择之后,点击解压(Unzip),解压完成后,会在解压目录(或者是其中的子目录)中找到两个.jar文件。将这两个文件在eclipse中add External Jars,然后输入下面的代码,即可运行。如果报错提示版本问题(比如必须使用jdbcsql4之类的),可以将两个.jar文件中,版本较低的一个删掉即可。(也就是说只在add External Jars中add一个jdbcsql4.jar文件。)
[java]
import java.sql.*;
public class Try
{
public static void main(String[] args)
{
String JDriver = “com.microsoft.sqlserver.jdbc.SQLServerDriver”;// SQL数据库引擎
String connectDB = “jdbc:sqlserver://10.77.20.xx:1433;DatabaseName=braV6”;// 数据源注意IP地址和端口号,数据库名字!可以将ip改成localhost(如果数据库在本机的话)
try
{
Class.forName(JDriver);// 加载数据库引擎,返回给定字符串名的类
} catch (ClassNotFoundException e)
{
// e.printStackTrace;
System.out.println(“加载数据库引擎失败”);
System.exit(0);
}
System.out.println(“数据库驱动成功”);
try
{
String user = “sa”;// 你自己创建的用户名字和密码!!!!!!!!!!!!
String password = “sa427”;
Connection con = DriverManager.getConnection(connectDB, user,
password);// 连接数据库对象
System.out.println(“连接数据库成功”);
Statement stmt = con.createStatement();// 创建SQL命令对象
// 创建表
System.out.println(“查询”);
System.out.println(“开始读取数据”);
ResultSet rs = stmt.executeQuery(“SELECT * FROM dbo.Author”);// 返回SQL语句查询结果集(集合)
// 循环输出每一条记录 www.dnzg.cn
int i=0;
while (rs.next())
{
// 输出每个字段
System.out.println(rs.getString(“ID”) + “\t”);
if(i<100)
i++;
else
break;
}
System.out.println(“读取完毕”);
// 关闭连接
stmt.close();// 关闭命令对象连接
con.close();// 关闭数据库连接
} catch (SQLException e)
{
e.printStackTrace();
// System.out.println(“数据库连接错误”);
System.exit(0);
}
}
}
篇5:sqlserver集群配置
Windows server + sql server 集群配置安装
一:环境
软硬件环境
虚拟3台windows server 2003主机,其中一台做域控DC,另外两台作为节点win1 win2.
域控DC网络设置:
Hostname
Private网卡
Public网卡
adtest
192.168.9.176
节点主机网络设置
Hostname
Private网卡
Public网卡
Win1
10.0.0.173
192.168.9.173
Win2
10.0.0.174
192.168.9.174
二:建域test.com
在域控主机192.168.9.176上安装域
1 设置DC的ip 192.168.9.176
INCLUDEPICTURE \d “blog.itpub.net/attachment/08/11/29500582_1407739037lWe2.png” \* MERGEFORMATINET
2 在DC中使用DCPROMO命令创建域 (后面的步骤中需要更新windows组件,必须先挂载安装盘)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077391708Ti6.jpg” \* MERGEFORMATINET
3 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739247Oq09.jpg” \* MERGEFORMATINET
4 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739274XN5X.jpg” \* MERGEFORMATINET
5 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077393012nbo.png” \* MERGEFORMATINET
6 选择新林中的域
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739354rKwn.png” \* MERGEFORMATINET
7 填入所要创建域的完整的域名
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739377CMKf.png” \* MERGEFORMATINET
8 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739509vRI0.png” \* MERGEFORMATINET
9 选择AD数据库和日志文件的存放位置
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739565AxuX.png” \* MERGEFORMATINET
10 存放SYSVOL的存放位置(注意:一定要放在NTFS的分区中)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739603KBsU.png” \* MERGEFORMATINET
11 注意:AD是离不开DNS服务的,因为客户机加入域和登录域都需要把域名解析为IP地址,因为此时DC没有DNS服务器,所以选择第二项让系统在创建DC的同时把DNS服务随之一起安装上.当然你也可以安装DC后自己手动再安装和配置DNS服务器(当时是您给会正确配置DNS服务器),建议和DC一起让系统帮我们创建,因为省事
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739851kpky.png” \* MERGEFORMATINET
12 选择兼容的模式,为了以后可以方便windows和2003兼容
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407739883TU02.jpg” \* MERGEFORMATINET
13 设置AD的还原密码(为了以后对AD数据库做完备份,开机按F8进入AD还原模式需要的还原密码,如果在此设置了密码,一定切记):
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077399565Eoz.jpg” \* MERGEFORMATINET
14 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407740932ypMd.jpg” \* MERGEFORMATINET
15 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407741371FFnB.jpg” \* MERGEFORMATINET
16 需要挂载有关盘,才会自动安装DNS
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407741434D07d.jpg” \* MERGEFORMATINET
17 完成
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077425689rnx.jpg” \* MERGEFORMATINET
18 重启
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742596D44S.jpg” \* MERGEFORMATINET
19 安装完重起系统后登录界面为使用域中的管理员和密码登录到域
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077426257kHs.png” \* MERGEFORMATINET
20 进入系统后查看计算机的状态
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742652R7uD.png” \* MERGEFORMATINET
21查看管理工具会增加DNS和有关AD的工具,以及安全策略
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742694MvtT.png” \* MERGEFORMATINET
22 点开用户和计算机域控管理界面 (创建域test.com完成)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742729f3b0.png” \* MERGEFORMATINET
三:配置节点win1 和 节点win2的网络,并添加到域中
1 网络配置
win1 网络配置
网卡1:
DNS需要配置DC的IP
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742769IgEN.jpg” \* MERGEFORMATINET
网卡2
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742840A6l3.jpg” \* MERGEFORMATINET
“高级”里面配置一下禁用NetBIOS 不勾选前面两项
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407742943Fy03.jpg” \* MERGEFORMATINET
Win2网络设置
网卡1:
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743537GJ7l.jpg” \* MERGEFORMATINET
网卡2
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077435693D38.png” \* MERGEFORMATINET
Win1 win2 进行相同的操作
2 更改计算机名,以及加入域test.com
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743633bYBe.png” \* MERGEFORMATINET
3 属于域控制账号密码
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743676gbuo.jpg” \* MERGEFORMATINET
4 完成后重启
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743709vOFZ.jpg” \* MERGEFORMATINET
5 域登录
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743759G5G5.png” \* MERGEFORMATINET
6 加入域后的计算机属性
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743787p33j.png” \* MERGEFORMATINET
Win2 也是一样的步骤加入到域中
6 在域控主机192.168.9.176中可以看到新添加的成员
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743817WsaU.png” \* MERGEFORMATINET
在步骤五中可能会提示报错指定域的名称或安全标识(SID)与该域的信任信息不一致 (因为指定域的名称或安全标识(SID)与该域的信任信息不一致)需要修改
修改方法:
1 .从安装盘中 support\tools\deploy.cab中提取sysprep.exe和setuppcl.exe 到桌面
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743850SDwD.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743871Py6C.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407743888vP01.png” \* MERGEFORMATINET
2 运行sysprep.exe“确定”开始重新封装
往下就是下一步下一步安装即可 (不能远程操作,封装一次即可,不作详述了)
四:安装win server2003集群
Win1节点上进行操作,关闭其他节点
1 依次单击“开始”、“所有程序”和“管理工具”,然后单击“群集管理器”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077439293FFp.png” \* MERGEFORMATINET
2 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077440578D3X.png” \* MERGEFORMATINET
3 选择域(test.com),键入群集名win2003cluster。下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744070JRQx.png” \* MERGEFORMATINET
4 机器名输入 win1。下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744154ehw0.png” \* MERGEFORMATINET
5 这一步是检测硬件环境是否符合群集要求。如果这一步出现错误提示,可以点击“查看日志”,按照提示检查网络设置和磁盘阵列连接是否正确
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744230SSkp.gif” \* MERGEFORMATINET
1 通过下一步,输入集群的IP地址,操作系统虚拟服务器的IP 地址
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744249x6HR.gif” \* MERGEFORMATINET
6 输入域用户名和密码,这里使用的是域管理员administrator
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744263857b.gif” \* MERGEFORMATINET
说明:在项目实施时一定不能用域的管理员administrator。应该要求用户网络管理员提供一个专门管理
群集的新用户。这个新用户在各个群集节点中应该在本地管理员组(local administrator group)中。
7 点击“仲裁”按钮,在弹出的窗口中选择仲裁资源。我们选择磁盘Q(QDisk)作为仲裁盘
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744272ks9Q.gif” \* MERGEFORMATINET
8
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744294mA7n.gif” \* MERGEFORMATINET
9 完成
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744319FJ6n.gif” \* MERGEFORMATINET
10 群集 win2003cluster 已经配置成功。但是目前只有win1,我们需要将第二个节点加入,构建出容灾群集。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744358n8K5.gif” \* MERGEFORMATINET
11 新建节点
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744371gd4L.gif” \* MERGEFORMATINET
12 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744385peeG.gif” \* MERGEFORMATINET
13 输入“win2”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744396zcBj.png” \* MERGEFORMATINET
14 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744468rsZ5.gif” \* MERGEFORMATINET
15 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744481R038.gif” \* MERGEFORMATINET
16 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744502HRQ7.gif” \* MERGEFORMATINET
17 下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744520a8xd.gif” \* MERGEFORMATINET
Win2上的共享磁盘QDisk 和ClusterData 已经被win1 所独占,
这个警告不用理会
18 下一步,完成win2节点添加
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744536ppLl.gif” \* MERGEFORMATINET
19 操作系统容灾群集已经安装完毕。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744552ya8d.gif” \* MERGEFORMATINET
20 配置群集网络通信 右键选择群集“属性”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744587KWB4.gif” \* MERGEFORMATINET
21 本地连接2 -à属性
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744602x808.png” \* MERGEFORMATINET
22 专门用于群集节点内部通讯使用的
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077446226FNs.png” \* MERGEFORMATINET
23确保private 在public 上面(private 优先级更高)。确定完成网络设置。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744651WcyM.jpg” \* MERGEFORMATINET
24 测试操作系统群集
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744660XhOo.gif” \* MERGEFORMATINET
25 点击移动组可以相互切换资源
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744686wgRC.png” \* MERGEFORMATINET
26为了测试群集的可用性,在win1 上右键选择“停止群集服务”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744699WCOe.png” \* MERGEFORMATINET
27 Win2 接管了资源,成为目前群集的工作节点
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744712kFdi.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744730Lazx.png” \* MERGEFORMATINET
28 重新启动win1
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744745g883.jpg” \* MERGEFORMATINET
Windowns server2003集群完成配置
五 :配置SQL Server 2005 群集
1说明:如果群集环境不需要安装报表服务(SQL Server Reporting Services),可以忽略此步骤。
安装IIS
2 打开组件服务---计算机---我的电脑---属性—安全配置,选择administrator 用户登陆,输入administrator
的密码。
这一步是必须的,否则在安装SQL server 2005 的时候会出现COM+错误。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077447844cHJ.gif” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077447977j94.gif” \* MERGEFORMATINET
3 配置MSDTC 到资源组中
进入 CMD 运行
net stop msdtc
msdtc –uninstall
msdtc –install
net start msdtc
此操作之后在群集组直接出现 MSDTC 资源
如果出现msdtc无法正常使用,也可以用此方法重新配置
一般性增加MSDTC资源方法:
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_140774481409IC.png” \* MERGEFORMATINET
“资源类型”选择“分布式事务协调器(DTC)”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077448256dP6.gif” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744854jfNM.gif” \* MERGEFORMATINET
选择仲裁盘和群集名作为其依存资源。完成
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744867nQMJ.gif” \* MERGEFORMATINET
确定,完成MSDTC 配置。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744885M46X.gif” \* MERGEFORMATINET
4 注意,在安装SQL server 2005 前, 如果主机是多核心的处理器,请修改boot.ini 文件,把CPU 核心数
改为1
.可以在msconfig 选项中直接选择修改 ,这个是2005 本身的bug,等完成安装后打SP3 或更高的补丁。
补丁打完之后可修改回正常核心数量
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744896HzT9.gif” \* MERGEFORMATINET
5安装SQL Server 2005
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744939QYbK.png” \* MERGEFORMATINET
下一步
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077449503Df3.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744968I81t.png” \* MERGEFORMATINET
下一步(步骤2处理不好,会出现com+错误)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077449795J34.png” \* MERGEFORMATINET
开始安装必备组件
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407744989AIgW.png” \* MERGEFORMATINET
系统配置检查
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745003rYzQ.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077450180cuh.gif” \* MERGEFORMATINET
输入注册信息
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745031baoA.png” \* MERGEFORMATINET
选择要安装的组件
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745057vz41.png” \* MERGEFORMATINET
(所提供光盘只有SQL Server Database Services组件)
输入实例名:MSSQL2005
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745072podT.png” \* MERGEFORMATINET
输入虚拟服务器的名称:SH-sqldbc
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745107ArP0.png” \* MERGEFORMATINET
输入虚拟服务器名称,下一步(区别于集群虚拟服务器IP)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745121U1uU.gif” \* MERGEFORMATINET
为虚拟服务器指定IP 地址,点击“添加”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745126XcS5.gif” \* MERGEFORMATINET
为数据文件指定安装路径,请注意这里的S 盘是数据存储盘(ClusterData),千万不要把数据文件安装到仲裁盘(QDisk)上。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745139mnRW.gif” \* MERGEFORMATINET
可以在集群管理器上分一下组
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745149zX6d.gif” \* MERGEFORMATINET
该用户其实应该是cluster,如果用administrator,会造成不能在远程计算机安装(后面述修改方法,也可以之前在域中建好用户)
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745155lTGS.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745190BL3x.gif” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077451973Bma.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745210d8k8.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077452234KZ9.png” \* MERGEFORMATINET
选择混合模式验证
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745234SblE.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745246Aqpq.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745262pPPB.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745273LV55.png” \* MERGEFORMATINET
开始安装
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745288YFsc.png” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745350t0Wp.png” \* MERGEFORMATINET
安装程序。
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745365spAH.png” \* MERGEFORMATINET
完成后在另一个节点安装。
六:解决远程不能安装问题,创建swg域用户,委托管理
1 打开域控制管理
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_14077453825h6y.png” \* MERGEFORMATINET
2 新建用户
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745628BIXb.png” \* MERGEFORMATINET
3 添加到组
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745724heZa.png” \* MERGEFORMATINET
4 添加到administrator组中
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745737U5xo.png” \* MERGEFORMATINET
5 查看属性
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745745VMv1.jpg” \* MERGEFORMATINET
6 win1 win2 节点上加用户权限
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745754s7Nj.jpg” \* MERGEFORMATINET
7 添加到swg组
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745762t1Z5.jpg” \* MERGEFORMATINET
8 最后全部用swg用户等test.com域上的主机win1,win2
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745778Klvg.jpg” \* MERGEFORMATINET
七:安装完成后测试
1 win1上查看增加的资源
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745798o54e.jpg” \* MERGEFORMATINET
2 停止其中win1节点,服务自动转移
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745807BB77.jpg” \* MERGEFORMATINET
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745813HCSC.jpg” \* MERGEFORMATINET
八:访问数据库,导入数据
1 右键“数据库” “附加”
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745821o56o.jpg” \* MERGEFORMATINET
2 导入整个数据库
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745830HtaT.jpg” \* MERGEFORMATINET
3 导入完成后,显示数据
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745846B7dG.jpg” \* MERGEFORMATINET
4 做故障转移时,数据库可以正常被访问
INCLUDEPICTURE \d “blog.itpub.net/attachment/201408/11/29500582_1407745935DEw2.jpg” \* MERGEFORMATINET
篇6:计算机中的定点数与浮点数
定点数与浮点数
在计算机中必须有一定的方法来表示和处理小数点,计算机只能识别0和1两种信息,如果用0和1来表示小数点,则势必和数字位相混淆。事实上,对小数点来说,重要的不是小数点本身,而是它的位置。
一个十进制数可写成一个纯小数乘上10的若干次方。相类似,一个二进制数可写成一个纯小数乘上2的若干次方,例如,11.01=22O.1101。一般地,任一二进制数N(2)可表示成N(2)=2Js,其中J为二进制整数,s为二进制纯小数。称J为数N的阶码,2为阶码的底,S为数N的尾数。
当用这样的形式表示数时,尾数5表示数Ⅳ的有效数字,阶码J指明了小数点的位置。前者是显然的。后者通过例子来说明。有两个数:N1=2010.1011,N2=2100.1011,它们的尾数一样,但阶码不等(此例中阶码为二进制表示)。计算可得N1=1.011,N2=10.1l,可见小数点的位置不同。这说明,两个数尾数相同、阶码不同,则小数点的位置就不同。换言之,尾数不变,阶码发生变化时,小数点的位置就要改变,即阶码指明了小数点的位置,
计算机在具体实现时,有两种不同的做法:一种是J固定,称为定点表示;另一种是J可变,称为浮点表示。
对于定点表示,常用两种方法。一是J取n(n为尾数的位数,即有效数字的位数),机器对写成2nS的数进行运算,即对纯整数进行运算,这时小数点固定在最低位数字后面。
另一种是J取0,机器对写成20s的数进行运算,即对纯小数进行运算,这时小数点固定在最高位数字的前面。
对于浮点表示,阶码、尾数都要表示出来,并且都要考虑符号。显然,尾数的符号就是整个浮点数的符号。尾数一般采用原码表示(也可以用补码表示)。为了方便阶码的比较和对阶(即让两个浮点数的阶码变成一致),阶码一般采用移码表示。对n位机器数,移码的定义为
[X]移码=X+2n-1,一2n-1X<2n-1
从这个定义可看到,移码实际是将数在数轴上平移了一段距离。
浮点数在表示时一般采用下面的形式:
阶码的底(2),因为对所有的浮点数都需要,所以不必表示出来。
和机器数的概念一样,上述小数点的处理方法主要是用于汇编语言编程。限于篇幅,这里仅引入了概念。若要应用,尚须深入学习,浮点数运算有许多细节。
【SQL SERVER的浮点数类型】相关文章:
1.诗歌类型
2.短语类型
3.审计报告类型
4.散文类型
6.初中作文类型
7.英国留学签证类型
8.各类型建议书
9.短语结构类型
10.初中英语作文类型






文档为doc格式