遠視 資料型

위키百科, 우리 모두의 百科事典.

遠視 資料型 ( primitive data type )은 컴퓨터 科學에서 프로그래밍 言語가 提供하는 資料型 中 하나다. 原始型은 또한 內臟型 이나 基本形 으로도 불린다.

言語와 그 具現에 따라서, 原始型은 메모리 上에 一對一로 對應되는 個體(Object)를 가질 수도 있다. 一般的으로 原始型은 言語 構造體 中 가장 빨리 演算處理된다. 例를 들어, 整數形의 덧셈은 單 하나의 機械式 演算(machine instruction)으로 處理될 수 있다.일부 中央 處理 裝置 (CPU)는 한 番의 演算으로 文字들의 시퀀스 處理를 遂行해주는 特別한 演算을 提供한다. 一部 C 에서는 "'plain' int 客體는 實行 環境의 아키텍처가 提供하는 基本 사이즈를 갖는다"고 한다. 이것은 int 는 32-bit 아키텍처에서는 32 bits long과 같은 사이즈를 가질 수 있다는 뜻이다. 原始型의 값은 狀態(state)를 共有하지 않는다.

大部分의 言語들은 프로그램에 依한 原始型의 造作을 許容하지 않는다. 스몰토크 와 같은 例外的인 言語들은 프로그램 內에서 原始型을 擴張할 수 있도록 許容해주기도 한다. 스몰토크에서는 原始型에 對한 演算을 追加하거나 甚至於는 빌트인 演算(內臟型 演算)을 再定義할 수도 있다.

槪要 [ 編輯 ]

實際 原始型의 範圍는 프로그래밍 言語에 따라 다르다. 例를 들어 C 에서는 文字列 은 組合型이지만, 베이직 자바스크립트 에서는 基本形으로 取扱된다.

一般的으로 原始型은 다음과 같다.

보다 複雜한 兄도 다음과 같은 原始型이 될 수 있다.

分類 [ 編輯 ]

정수형 數字 [ 編輯 ]

정수형은 소숫點을 除外한 모든 數字값을 가질 수 있다. 정수형은 (音受刑을 가질 수 있는) signed와 音受刑을 가질 수 없는 unsigned로 區分된다. 一般的인 整數形의 크기는 다음과 같다.

크기 이름 signed unsigned
8 bits Byte -128 ~ +127 0 ~ 255
16 bits Word , short int -32,768 ~ +32,767 0 ~ 65 535
32 bits Double Word , long int -2,147,483,648 ~ +2,147,483,647 0 ~ 4,294,967,295
64 bits long long ( C ), long ( 자바 ) ?9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 0 ~ 18,446,744,073,709,551,615
unlimited Bignum

精髓를 위한 리터럴(상수)는 數字로 이뤄진다. 거의 모든 프로그래밍 言語는 자리數를 標示하기 위해 ,(쉼標)를 使用하는 것을 許容하지 않는다. 例外的으로, 포트란 은 內藏된 空白(embedded space)을 許容하고, (Perl), 루비 그리고 D 는 內藏된 '_(밑줄)'을 許容한다. (포트란 77과 포트란 90 以上의 버전에서는 固定 자리數를 支援한다. 하지만 포트란에서도 任意의 자리數를 指定할 수는 없다.) 陰數는 數字값 앞에 陰數 記號(-)를 붙여서 標示한다.

정수형 表記法 예:

  • 42
  • 10000
  • -233000

불린 [ 編輯 ]

一般的으로 "bool"이나 "boolean"으로 標示되는 불린 資料型 은 單一비트 타입이다. 그 값은 "true" (1) 또는 "false" (0)로 制限되어 있다. C++ 과 같은 몇몇 言語에서는 불린값들은 暗示的으로 整數形으로 變換될 수 있다. 例를 들어 "true + true"에 對한 演算값은 2日 수 있다. 그러나 자바 파스칼 같은 다른 言語에서는 이러한 型變換을 許容하지 않는다.

浮動小數點 數 [ 編輯 ]

浮動小數點 數는 小數點 값을 包含한 失手 를 表現한다. 이 數字는 指數法 , 二進法 , 間或 十進法 으로 表記되기도 한다. 浮動小數點 數는 制限된 자릿數를 갖기 때문에, 모든 값은 近似的으로 標示된다.

많은 言語들은 "float"라고 부르는 single precision과 double precision 타입을 갖는다.

小數點을 包含한 浮動小數點 數를 爲한 리터럴은 一般的으로 지수를 表記하기 爲해서 "e"를 使用한다. 다음의 不動小數點 表記를 參照.

  • 20.0005
  • 99.9
  • -5000.12
  • 6.02e23

포트란 같은 一部 言語에서는 追加로 複素數 (complex number) 타입을 갖는다. 이 複素數 타입은 實數部 虛數部 으로 이뤄져 있다.

固定小數點 數 [ 編輯 ]

固定小數點 數는 小數 部分을 갖고 있는 失手 를 表現한다. 이 數는 內部的으로 scaled-integer 폼으로, 一般的으로 二進法 으로 하지만 가끔 十進法 으로 貯藏된다. 固定小數點 數는 오직 制限된 자릿 數만을 表記할 수 있기 때문에 大部分의 값은 近似的으로만 表記될 수 있다. 固定小數點 數는 制限된 範圍의 값을 가지므로 프로그래머는 반드시 그 값이 오버플로우 되지 않도록 注意해야 한다.

文字形과 文字列 [ 編輯 ]

一般的으로 "char"라 쓰는 文字 타입은 하나의 文字 , 數字 , 文章 符號 或은 制御 文字 를 갖는다. 言語에 따라서 아스키 코드 (ASCII) 文字를 위한 單一바이트 兄과 유니코드 文字를 위한 復讐바이트 兄을 갖기도 한다. 文字의 組合이 文字列 이다. 文字列 데이터는 數字와 다른 數字 記號를 가질 수 있지만 (數字型이 아닌) 텍스트型으로 處理된다.

大部分의 言語에서 文字列은 文字의 配列(array)와 童穉이나, 자바 에서는 別個의 타입으로 處理된다. ( 파이썬 베이직 의 表記方法) 같은 그 밖의 言語에서는 別途의 文字型은 없다.

文字와 文字列을 위한 表記 方法은 따옴標 로 該當 文字를 감싸는 것이 普通이다. 種種, 文字는 작은 따옴標 로 文字列은 큰 따옴標 로 감싼다.

C에서의 文字 表記法

C에서의 文字列 表記法

  • "A"
  • "Hello World"
  • "I am 6000 years old"

數字形 데이터의 範圍 [ 編輯 ]

各 數字形 데이터는 最小값과 最大값으로 制限된 範圍를 갖는다. 制限된 範圍를 넘어서는 數字가 생긴다면 컴파일 에러나 런타임 에러를 마주하게 되거나, 運이 없다면 ( 버림 處理로 인한) 잘 못된 演算값을 얻게 될 것이다. 이는 使用된 言語에 따라 決定된다.

變數의 範圍는 그 값을 貯藏하기 위해 使用되는 바이트 數에 따라 달라진다. 정수형 데이터는 一般的으로 (2의 n勝) 값을 貯藏할 수 있으며, 여기서 값은 비트 [1] 이다.

浮動小數點 값과 같은 다른 데이터型을 위한 範圍는 더 複雜해지며 보다 그 값을 貯藏하는 方式에 따라 많이 달라진다. 여기에서도 亦是 모든 바이트를 使用하지 않는 데이터型이 있다. 例를 들어 불린은 (비록 日 바이트를 차지하고 나머지 일곱 비트를 浪費하긴 하지만,) 單 하나의 비트 萬 必要로하고 二進法 값을 表現한다. Ada 파스칼 과 같은 一部 言語에서는 正反對의 接近方式을 許容하기도 한다. 卽, 프로그래머는 數字의 範圍와 주어진 問題를 解決하기 위한 精密度를 定義하고, 컴파일러는 가장 適切한 整數나 不動 소수형을 自動으로 適用한다.

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. 패리티 체크와 같은, 다른 用途를 위해서 하나 或은 그 以上의 비트가 先占되어 있는 境遇가 大部分이다.