def testExponentSetter(self) : 
		f32 = Float()
		f64 = Float(length=64)
		def setExponent(f, value) : 
			f.raw_exponent = value

		bin = '01000110000110110100100101100001'
		f32.bin = bin
		self.assertEqual(f32.bin, bin)
		self.assertEqual(f32.raw_sign, '0')
		self.assertEqual(f32.raw_exponent, '10001100')
		self.assertEqual(f32.raw_mantissa, '00110110100100101100001')
		# length 8
		f32.raw_exponent = '10101010'
		# length 11	
		self.assertRaises(bitstring.CreationError, setExponent, f32, '10111111111')
		# exponent and sign (should remain unchanged)
		self.assertEqual(f32.raw_sign, '0')
		self.assertEqual(f32.raw_mantissa, '00110110100100101100001')
		# invalid binary
		self.assertRaises(bitstring.CreationError, setExponent, f32, '10000003')
		# invalid type
		self.assertRaises(bitstring.CreationError, setExponent, f32, {})

		bin = '0100000000010010000110000000000010100111110001011010110001000111'
		f64.bin = bin
		self.assertEqual(f64.bin, bin)
		self.assertEqual(f64.raw_sign, '0')
		self.assertEqual(f64.raw_exponent, '10000000001')
		self.assertEqual(f64.raw_mantissa, '0010000110000000000010100111110001011010110001000111')
		# length 11
		f64.raw_exponent = '10101010001'
		self.assertEqual(f64.raw_exponent, '10101010001')
		# length 50
		self.assertRaises(bitstring.CreationError, setExponent, f64, '10001010')
		# exponent and sign (should remain unchanged)
		self.assertEqual(f64.raw_sign, '0')
		self.assertEqual(f64.raw_mantissa,'0010000110000000000010100111110001011010110001000111') 
		# invalid binary
		self.assertRaises(bitstring.CreationError, setExponent, f64, '10111000009')
		# invalid type
		self.assertRaises(bitstring.CreationError, setExponent, f64, [])
	def test_ExponentField_ExponentValue(self) : 
		f = Float()
		f.raw_exponent = '10000001'
		self.assertEqual(f.raw_exponent, '10000001')
		self.assertEqual(f.exponent_field, 129)
		self.assertEqual(f.exponent_value, 2)
		f.raw_exponent = '11111111'
		self.assertEqual(f.raw_exponent, '11111111')
		self.assertEqual(f.exponent_field, 255)
		self.assertEqual(f.exponent_value, 128)

		f = Float(length=64)
		f.raw_exponent = '10000000000'
		self.assertEqual(f.raw_exponent, '10000000000')
		self.assertEqual(f.exponent_field, 1024)
		self.assertEqual(f.exponent_value, 1)
		f.raw_exponent = '11111111111'
		self.assertEqual(f.raw_exponent, '11111111111')
		self.assertEqual(f.exponent_field, 2047)
		self.assertEqual(f.exponent_value, 1024)