@@ -78,18 +78,28 @@ function classNamesToBinaryString( binaryString, bitSpan ) {
7878 return binaryString ;
7979}
8080
81- function updateNumber ( exponent ) {
81+ function updateNumber ( values ) {
8282 var b = "" ;
8383
84+ var exponent , significand ;
85+ if ( values ) {
86+ exponent = values . exponent ;
87+ significand = values . significand ;
88+ }
89+
8490 if ( typeof exponent == "number" ) {
8591 exponent = ieee754 . intToBinaryString ( exponent , 11 ) ;
8692 } else {
8793 exponent = bitsExponent . reduce ( classNamesToBinaryString , "" ) ;
8894 }
8995
96+ if ( typeof significand != "string" ) {
97+ significand = bitsSignificand . reduce ( classNamesToBinaryString , "" ) ;
98+ }
99+
90100 b += bitsSign . reduce ( classNamesToBinaryString , "" ) ;
91101 b += exponent ;
92- b += bitsSignificand . reduce ( classNamesToBinaryString , "" ) ;
102+ b += significand ;
93103
94104 var f = ieee754 . binaryStringToFloat64 ( b ) ;
95105 setNumberInputValue ( f ) ;
@@ -259,7 +269,7 @@ numberInput.addEventListener("keydown", function ( event ) {
259269
260270pointSlider . addEventListener ( "change" , function ( ) {
261271 var exponent = Number ( pointSlider . value ) ;
262- updateNumber ( exponent ) ;
272+ updateNumber ( { exponent : exponent } ) ;
263273} , false ) ;
264274
265275pointSlider . addEventListener ( "click" , function ( ) {
@@ -339,7 +349,7 @@ function getCurrentExponentValue() {
339349
340350function updateExponentValue ( value ) {
341351 var exponent = Number ( value ) ;
342- updateNumber ( exponent ) ;
352+ updateNumber ( { exponent : exponent } ) ;
343353}
344354dynks ( exponentElement , getCurrentExponentValue , updateExponentValue ) ;
345355
@@ -349,7 +359,7 @@ function getCurrentExponentNormalizedValue() {
349359
350360function updateExponentNormalizedValue ( value ) {
351361 var exponent = Number ( value ) ;
352- updateNumber ( exponent + 1023 ) ;
362+ updateNumber ( { exponent : exponent + 1023 } ) ;
353363}
354364dynks ( exponentNormalizedElement , getCurrentExponentNormalizedValue , updateExponentNormalizedValue ) ;
355365
@@ -378,6 +388,8 @@ document.addEventListener("keyup", function( event ){
378388 break ;
379389 case "S" : visualization . classList . toggle ( "show-significand-overflow" ) ;
380390 break ;
391+ case "X" : updateNumber ( { significand : "1111111111111111111111111111111111111111111111111111" } ) ;
392+ break ;
381393 case "E" : visualization . classList . remove ( "expanded" ) ;
382394 visualization . classList . add ( "final" ) ;
383395 break ;
0 commit comments