<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Java の int 型の謎が今頃解った へのコメント</title>
	<atom:link href="http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/feed/" rel="self" type="application/rss+xml" />
	<link>http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/</link>
	<description>☆*:･°★:*:･°　ゆっちの秘密研究所　☆*:･°★:*:･°</description>
	<lastBuildDate>Tue, 07 Jul 2009 10:23:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>ゆっち より</title>
		<link>http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/comment-page-1/#comment-19</link>
		<dc:creator>ゆっち</dc:creator>
		<pubDate>Mon, 23 Feb 2009 09:54:01 +0000</pubDate>
		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/#comment-19</guid>
		<description>shin さん、はじめまして。
おっしゃる通り２の補数を使うからそうなりますね。
私が目にした本には「正の整数は 0 からはじまる」と表現されてました。
おそらく 0 の符号ビットが 0 だからそういう表現をしたのでしょう。
なぜ 2 の補数を使うのか調べてみました。
計算機の演算回路をシンプルにするためですね。
減算を加算で処理できるように。
これは今日調べてみて初めて知りました。
4 ビットで 5-5 を例にすると
5+(-5) だから

     0101
+) 1011
----------
   10000

4 ビットだからオーバーフローした上位ビットは切り捨てられて演算結果は 0 となる。
とりあえず、検索上位の情報を調べてみました。
これって基本情報技術者試験では出題率が高く必ずマスターしておかなければいけないことらしいですね。
やっぱりこういうところで素人とプロフェッショナルの差が大きく現れます。
コメントありがとうございました。（＾＾）</description>
		<content:encoded><![CDATA[<p>shin さん、はじめまして。<br />
おっしゃる通り２の補数を使うからそうなりますね。<br />
私が目にした本には「正の整数は 0 からはじまる」と表現されてました。<br />
おそらく 0 の符号ビットが 0 だからそういう表現をしたのでしょう。<br />
なぜ 2 の補数を使うのか調べてみました。<br />
計算機の演算回路をシンプルにするためですね。<br />
減算を加算で処理できるように。<br />
これは今日調べてみて初めて知りました。<br />
4 ビットで 5-5 を例にすると<br />
5+(-5) だから</p>
<p>     0101<br />
+) 1011<br />
&#8212;&#8212;&#8212;-<br />
   10000</p>
<p>4 ビットだからオーバーフローした上位ビットは切り捨てられて演算結果は 0 となる。<br />
とりあえず、検索上位の情報を調べてみました。<br />
これって基本情報技術者試験では出題率が高く必ずマスターしておかなければいけないことらしいですね。<br />
やっぱりこういうところで素人とプロフェッショナルの差が大きく現れます。<br />
コメントありがとうございました。（＾＾）</p>
]]></content:encoded>
	</item>
	<item>
		<title>shin より</title>
		<link>http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/comment-page-1/#comment-18</link>
		<dc:creator>shin</dc:creator>
		<pubDate>Sun, 22 Feb 2009 14:47:32 +0000</pubDate>
		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2009/02/14/java-%e3%81%ae-int-%e5%9e%8b%e3%81%ae%e8%ac%8e%e3%81%8c%e4%bb%8a%e9%a0%83%e8%a7%a3%e3%81%a3%e3%81%9f/#comment-18</guid>
		<description>単純に２の補数なので負の値が正の数より多いというだけでは？

例えば２ビットだと２の補数を使ってー２、－１、０、１の４種類を表すことが出来ます。
マイナスのほうが範囲が広いですね。
つまり、０は正負どちらにも属していません。

なぜ２の補数を使うかといえば、最上位ビットを単なる正負のフラグにつかってしまうと
扱える数値が減ってしまうためです。
２ビットだとー１、－０、＋０、＋１みたいな感じになって０がダブってしまうので不具合が発生してしまいます。
０という数値がイコールで判断できなくなってしまうんですね。

ほかにも２の補数は利点があります。検索で調べてみてください。</description>
		<content:encoded><![CDATA[<p>単純に２の補数なので負の値が正の数より多いというだけでは？</p>
<p>例えば２ビットだと２の補数を使ってー２、－１、０、１の４種類を表すことが出来ます。<br />
マイナスのほうが範囲が広いですね。<br />
つまり、０は正負どちらにも属していません。</p>
<p>なぜ２の補数を使うかといえば、最上位ビットを単なる正負のフラグにつかってしまうと<br />
扱える数値が減ってしまうためです。<br />
２ビットだとー１、－０、＋０、＋１みたいな感じになって０がダブってしまうので不具合が発生してしまいます。<br />
０という数値がイコールで判断できなくなってしまうんですね。</p>
<p>ほかにも２の補数は利点があります。検索で調べてみてください。</p>
]]></content:encoded>
	</item>
</channel>
</rss>
