Incorrect comparison evaluation?

Hello

I had a bug in my VI and reduced to the following code. The values in the output array must be 10 for all values in the input array. However, for only 11-1E 1E-14, LabVIEW seem to rate less 1 incorrect statement, that translates into a power of 100. In the execution of climax, a T is given to is 1 less than 1, which is obviously false. If I replace the statement with a greater than or equal to 1 and change of control loop until stopped instead of loop, I get the same result for the range of 1-11 to 1-14. What Miss me? Is it just a bug in LabVIEW?

Thank you

Steve

You run agains the inherent limitation of the comparison of floating-point numbers. There is nothing wrong.

(See also)

Tags: NI Software

Similar Questions

  • Backup Windows not pretend "enough space".

    Backup Windows refuses to create a new Image system because it claims that the goal to drive (the drive on which the image will be placed) doesn't have the space available. It is an incorrect Windows evaluation, as the System Image is ~ 32 GB, and the target drive has about 360 GB of available. The full error message is the following: "Windows Backup skipped backup system image because one of the critical volumes is not having enough free space. Free up space by deleting unnecessary files and try again. "Error code: 0 x 81000033 as there are a few grammatical mistakes in this error message (for example,"is not having enough"should read 'don't have enough', which indicates a person who does not speak English natively wrote the message), I suspect that there may be an intrusion to blame (polite way of saying"foul play"), but Microsoft Security Essentials , or Malwarebytes detects no virus or other.

    How to fix error code: 0 x 81000033
    http://www.PAGESTART.com/win7br0x8100003301.html

    JS
    http://www.PAGESTART.com

    Never be afraid to ask. This forum has some of the best people in the world to help.

  • evaluation of XML data for comparison

    Anyone know if it is possible to assess an xml node to see if it retains a specific value, and if so, how?

    I'm trying to do something like that...

    Set myChild = myRoot.evaluateXPathExpression("//collections/page/pnum")

    If myChild (1) = 1 THEN

    [do something]

    On the other

    [do something]

    End if

    I get an error "Object does not support this property or method" on the first line of the if statement.

    If I placeXML in a text frame, I can get the value of myChild (1), so I know the term XPath is correct and there is something out there, I just can't understand how to use it.

    This particular node must contain the value of 1.

    I use VB and CS5.5, but responds to javascript / examples are fine.

    Thank you

    I had figured it out.  If anyone cares to know, it goes like this...

    If .silence myChild (1) = 1 THEN

  • HP 50 g - postpone the evaluation

    I'm a little new to the 50g (from TI) and am curious to know if there is a way postpone the evaluation of numeric values using the RPN (e.g. print 2 + 2 on the stack instead of 4). I know that this is possible when you work with a variable (the battery will print 2 * X * 6 + 9 + 10 etc.) when you enter the expressions between single quotes, so I am sure that the calculator takes care of everything. I tend to look at the written equation and not the screen when entering calculations and is a bit easier to check what I've entered if the calculator shows explicitly.

    Since you already know the correct way to postpone the evaluation (put the phrase in single quotes), understood what you want the 50g to do.  Is this something like that?

    2. ENTER THE VALUE 3 +.

    -> "2 + 3"instead of 5 (or in addition to 5, no pun intended).

    If so, the answer is no, it not there no built-in setting that requires the RPN to act this way.  If you want to "2 + 3"on the stack, you must either type as such with single quotes or type it as such in the EquationWriter (EQW).»  Or use the 50g in the algebraic mode (ugh!).

    That said, the function guided enter the 50 g makes it possible for you to rewrite all the way, the calculator works, including a kind of 'algebraic story' of RPN which produce operations, but that would require programming.  The ALG command at the top-> 256 Library (development library) might be useful in this endeavour.

    DISCLAIMER: I do not work for HP. I'm just another owner happy 50g.  If some of the above is incorrect, I'm happy to be corrected by the owners of colleagues 50g.

  • best practices for the evaluation of prerequisite logic GOLD

    Greetings,

    I think TS is not the basic features for the decision-making process (imp) for execution. All recommendations are welcomed and appreciated. Please find below the script.

    I would like to perform some configuration steps (custom step types) to a signal generator based on the selected user 'Test '.

    To make it simple for the signal generator Let's say, we have the following steps:

    The Freq value | Define PWR lvl | Set the Modulation Type. Set the Modulation ON / OFF. Setting the output RF ON / OFF

    For the selected user Tests say that we have Test (0) | B test (1) | C (2) to test (Test A & C requires Modulation, B does not work)

    Here's my question:

    I can't get the Freq VALUE | The VALUE PWR lvl | Value RF Power on / off to run installation of prerequisite for the evaluation of logic GOLD. (i.e. residents.) TestSelected == 0 | 1. 2)

    Ditto for the Type of Modulation Set | The value of Modulation on / off (ie the inhabitants. TestSelected == 0 | 2)

    Thanks in advance for any help provided.

    Chazzzmd78

    people of the country. TestSelected == 0 | 1. 2 would be at the local level. TestSelected is 3.  You're doing a bitwise operation GOLD on numeric values, then the comparison.

    You need

    (the inhabitants. TestSelected == 0) | (the inhabitants. TestSelected == 1) | (the inhabitants. TestSelected is 3)

  • [Bug]? Line and force the comparison Mode

    It seems that changing the Mode of comparison of the IR & C function with the tables or Clusters attached does not Type of spread, or anything that is responsible for the selection of the instance.  By example, if I combine three tables at the entrances of IR & C, change the comparison mode for comparing aggregates, and then create an indicator of the range in? output, the result is the wrong indicator and a cut wire.  Similarly, can I change the mode on a function IR & C with a wired in the range? output and it will not break the thread until a subsequent change triggers a recompilation or type of spread.

    LV10 (no SP1) and Win7.

    Hi Darin.K,

    I was able to reproduce the behvior you see in LabVIEW 2010 SP1. If the tables are entered and the comparison Mode is the change in the creation of 'Compare the aggregates' indicator will incorrectly create an array of Boolean flags wired to a single Boolean result.

    This was previously reported in a request for Corrective Action (RCA) and the behavior has been corrected in LabVIEW 2011. Thank you for taking the time to report the problem and apologize for any inconvenience it caused.

  • VHD for evaluation of Windows Server 2008 R2 not accepting not a password on the Microsoft Web site

    Hello

    I recently downloaded and installed Windows Server 2008 R2 evaluation VHD on my Hyper-V using the link below.

    Title: Windows Server 2008 R2 Evaluation VHD for Hyper-V Images (180 days)

     

    http://www.Microsoft.com/en-US/Download/details.aspx?ID=16572

    However, every time I get the username and password as "Admin" & Pass@word1 mentioned in step 12, in accordance with the instructions, that I get the error message below.

    "The user name or password is incorrect"

    My data from the computer

    Operating system: Windows 8 Pro

    The use of Hyper-V

    Can someone help me?

    Hello

    The issue of Windows is more complex than what is generally answered in the Microsoft Community Forums. Appropriate in the TechNet Forums. Please post your question in the TechNet Forums.

    You can check the link to post your question:

    http://social.technet.Microsoft.com/forums/en-us/winserverhyperv/threads

    I hope that helps!

  • Serial number incorrect - Acrobat Pro - known good number

    I reinstall Acrobat Pro XI on a machine to try and fix a mistake apparently happened after a recent update of Adobe.

    (Error was: there is a problem with Adobe Acrobat/Reader.)  If this is the case, please exit and try again (4:4)) - opening links in IE 11.  Off mode protected at startup, has caused an error in 1:104)

    We get "incorrect serial number.  Is not a valid serial number"message.

    The SN is our well known Enterprise license one of our VAR. very reliable, we bought it installs on other machines.


    Impossible to select the option to select evaluation mode (program crashes).

    When I try to install Adobe Reader (as an alternative), I get "Error 1719.  "The Windows Service Installer could not not accessible."

    Other MSI files seem to work correctly.  Exe files install correctly (I was able to install the reader app a competitor temporarily).  Windows install Service is up.

    Machine: Windows 7 SP1 new build

    This repeats after:

    * Cleaner program adobe
    * System restore

    * Re-enrollment MSIEXEC

    * SFC/scannow

    * Installation of the Admin vs. Non Admin account

    Could someone please advise?  I checked for Windows Update 3139923 is not installed on the machine.   Is there a lack of fix for Windows or something else, do we do on the side of the system?

    The problem has been resolved.  For those who run similar in the future after checking their SNs out, here is what happened.

    * Removed Microsoft patch KB3139923

    (KB 2918614 has also been named as problematic for Windows Installer, but this machine had not

    * Updated windows full of other 'old' patches (this was a new installation and had not much on it besides SP1... partly us because we deployed a new WSUS server recently and 'old' stuff was not yet approved)

    * Reset

    * Next attempt to install with Acropro.msi launched an error message about "Microsoft Visual C++ 2010 redistributable 64 x will not be installed.

    * Download and install this redistributable

    * Next installation attempt worked as usual

    The machine has been that a new build so apparently was not all that he had to take over the facility.  We had the S/N problem recently with a machine that has been restored at the factory, so so this makes a lot of sense.

  • Comparison of schemas in Visual Studio 2013 tool

    Hello

    I have Visual Studio 2013 and that you have installed ODT 12.1.0.1.2.  I'm looking to use the schema comparison tool to validate a new Oracle server which is setup is similar to an existing server.  There are a dozen about the patterns that I am trying to validate using the tool.  The connection that I received an envelope has visibility to these patterns and I am able to see the database objects in these patterns by using Server Explorer by adjusting the filter on the connection to show them in the tree.  The schema owned by the connection has no useful data and is not part of the validation process.

    When I start the schema comparison tool, it requires connections source and target.  I select as appropriate links have been implemented in Server Explorer.  However, the tool seems to only compare the schema owned by the connection and I found no option to select another schema.  Is this possible?  Or is the tool that is wired to the schema owned by the connection?

    (Sorry for any incorrect terminology.  I do not normally deal with Oracle databases).

    Thanks in advance.


    You're not offbase. The user interface can be a bit more elegant, so there is no confusion between "User" and "Schema".

    But the main thing is that this tool will not allow you to compare the schemas that you do not own.

    One way to look at it, it's that this tool is more than a visual comparison tool. In fact, the case of the main use of this tool is to generate a diff between the two schemas script. If you select access only on a part of a pattern of you won't be able to edit with any script generated diff anyway.

    For your short term needs, see comparison diagram of the SQL Developer to see if they allow this (I'm not sure).

  • Problem with comparison of input text

    Hello people,

    I tried searching for an answer to this question, but I did have a little chance to find something that actually fits the question.

    I created three zones of text entry with the instance names: input001, input002 and input003.

    The three boxes are used for a comparison of values of simple text for an exercise in question.

    The entry text boxes have been entered restricted so that only the values A, B, C or D can be entered (representing the four possible answers).

    I created a button and event listener and the following function.

    function submitBtn001Click(evt:MouseEvent):void{
        trace("input001 = "+input001.text+" input002 = "+input002.text+" input003 = "+input003.text);
        if(input001.text == "A" && input002.text == "D" && input003.text == "C"){
            input001.type = "dynamic";
            input002.type = "dynamic";
            input003.type = "dynamic";
            correct.alpha = 1;
            submit_btn.visible = false;
        }else if((input001.text !== "A" | input002.text !== "D" | input003.text !== "C") && tryAgain == 1){
            tryAgain++;
            trace(tryAgain);
            submit_btn.visible = false;
            reset_btn.visible = true;
            incorrect_first_try.alpha = 100;        
        }else if((input001.text !== "A" | input002.text !== "D" | input003.text !== "C") && tryAgain >= 2){
            input001.type = "dynamic";
            input002.type = "dynamic";
            input003.type = "dynamic";
            incorrect.alpha = 100;
            submit_btn.visible = false;
            }        
    }
    

    When I compile the SWF, I get the following error:

    1067: constraint implied of a Boolean value to a number that is unrelated.

    The error is attributed to the combination of else-if statements. If I comment on the other if statements, the SWF compile without error and the code runs correctly, when I enter the correct answers in entry areas (A, D, C).

    What I don't understand is why my comparisons of strings in the world if the statements are generating an error, or why this error would have something to do with Boolean or number, as I compare the string value of text entry boxes (input001.text, for example) with a string.

    Thanks in advance for your help.

    Use the OR operator logic (|) instead of the OR operator (|)

  • Comparison of dates in Coldfusion

    Hello


    I have a problem with the comparison of date in coldfusion code. I followed the following technique to date comparison:

    < cfset > tag allows you to change all date values in a format:

    < cfset date1 = #CreateODBCDate (FORM. StartDate) # >
    < cfset date2 = #CreateODBCDate (FORM. EndDate) # >
    < cfset date = #CreateODBCDate (xx.enterdate) # >

    Then I did the comparion in the < cfif > tag to return all data in the database that match the criteria:

    < cfif (#DateCompare (date, date1) # NEQ - 1) AND (#DateCompare (date, date2) # NEQ 1) >

    Return dates between date1 and date2.

    I don't get an error message but, my production is not correct. Help, please.

    Vijayvijay77.

    vijayvijay77 wrote:

    I changed the query and used # all about dates. Its generating an error saying:

    Incorrect syntax near '09'.

    I don't understand. I appreciate your pateince with me.

    Vijayvijay77.

    I guess that '09' is the value of one of the form fields and '09' is not a DATE as a computer includes the dates.

    But you'd have a better understanding of what is happening if you knew what SQL statement has been sent to the database.  This can be illustrated by turning on debugging ColdFusion or dumping the variable "result" of the statement.  It can also be included in the error message.  It would be included in the structure of If you where to put a ... block around your query.

  • Comparison of the post not producing desired do not result

    During my form validation before update of database, I check if the 'hpropid' field is empty and echo a message appropriate (this works), then check if the field is between 3-15 characters (this also works), I finally check that the displayed value new is different from the original value by comparing the $_POST ['vpr'] to $_POST ['hpropid'] This is where I'm having problems, mainly if the values are the same I Don t want to search on the database to check if all records have the same reference number, but if the values are different I don't want she runs research and echo $error ['errprop'] error message.

    When the values are the same, and I know that the values are the same that I placed the code to echo values, the search on the database is always run when it shouldn´t if my comparison works which creates the error which is incorrect. It seems that the line that causes my problem is: if ($_POST ["RVP"]! = $_POST ['hpropid']) {-fact echo the value of vpr is C23 and the value of hpropid is C23, so why if they are not equal the meaasge research and database error still gets executed?}

    I pasted the full piece of code validation below:

    Any help with this will be appreciated, thanks in advance.

    If created empty field the error message at the echo in the body
    If (empty($_POST['hpropid'])) {}
    $error ['errpropid'] = 'Please enter the property reference. " }

    Otherwise, if the field not between 3 to 15 characters create error message to echo in the body
    else if (! empty($_POST['hpropid'])) {/ / check propid}
    $_POST ['hpropid'] = trim($_POST['hpropid']);
    $propid = $_POST ['hpropid'];
    If {(strlen ($propid) < 3)
    $error ['errpropid'] = 'Please enter a property reference that contains 3 to 15 characters';
    }
    $_POST ['hpropid'] = trim($_POST['hpropid']);
    $propid = $_POST ['hpropid'];
    If {(strlen ($propid) > 15)
    $error ['errpropid'] = 'Please enter a property reference that contains 3 to 15 characters';
    }
    }

    If the original value and the new value differ run the check on the database and the error message created

    If the values are the same Don t run the serach on the database that nothing has been changed in this area
    If (isset($_POST['vpr'])) {}
    {If ($_POST ["RVP"]! = {$_POST ['hpropid']})}
    echo POST vpr is: '. $_POST ["RVP"]. ' < br / > ';
    echo hpropid POST is: '. $_POST ['hpropid']. ' < br / > ';

    $LoginRS__query = sprintf ("SELECT hpropid FROM holidayletstable WHERE hpropid = %s", GetSQLValueString ($propid, "text") ");
    @mysql_select_db ($database_connAdd, $connAdd);
    $LoginRS = mysql_query ($LoginRS__query, $connAdd) or die (mysql_error ());
    $loginFoundUser = mysql_num_rows ($LoginRS);

    If there is a line in the database, the propid was found - can not match the requested reference
    {if ($loginFoundUser)}
    $error ["errprop"] = "$propid is already in use. Please enter a different property reference. « ;
    }
    }
    }
    }

    tessimon wrote:

    Why if they are not equal the meaasge research database and error still become executed?

    Don't know. It may be because you have applied trim() to one, but not the other. Your code is rather repetitive and contains some errors (maybe you didn't copy it exactly in there). Try this:

    $error = array();
    // if field empty created error message to echo in body
    if (empty($_POST['hpropid'])) {
      $error['errpropid'] = 'Please enter the property reference';
    } else {
      $_POST['hpropid'] = trim($_POST['hpropid']);
      $len = strlen($_POST['hpropid']);
      if ($len < 3 || $len > 15) {
        $error['errpropid'] = 'Please enter a property reference that contains 3 - 15 characters';
      }
    }
    
    if (!$error && isset($_POST['vpr'])) {
      $_POST['vpr'] = trim($_POST['vpr']);
      // if original value and new value are different run check
      // on the database and created error message
    
      // if values are the same don´t run the serach on the database
      // as nothing has been changed in this field
      if ($_POST['vpr'] != $_POST['hpropid']) {
        echo 'POST vpr is: ' . $_POST['vpr'] . '
    '; echo 'POST hpropid is: ' . $_POST['hpropid'] . '
    '; $LoginRS__query = sprintf("SELECT hpropid FROM holidayletstable WHERE hpropid=%s", GetSQLValueString($propid, "text")); mysql_select_db($database_connAdd, $connAdd); $LoginRS=mysql_query($LoginRS__query, $connAdd) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); //if there is a row in the database, the propid was found // - can not add the requested reference if($loginFoundUser) { $error['errprop'] = "$propid is already in use. Please enter a different property reference."; } } }
  • Result evaluation

    Our suppliers tag records with large number of keywords (which we will then index with a context index). They use every possible Word, just in case variant. So I could see "surfboard, surfboarder, surf, surfboarded, surfboards, surfborders, the surfboardings and so on."

    When someone seeks contains (textfield, $surfboard) > 0, they correspond to all (or many, anyway) of those words - which means that all bar the first keyword is really superfluous.

    What I want to do is take a keyword ("surfboard") and see what his version of rod is actually equal to. Then I take the following keyword and see what it the caulescent version was equal to. And if the two things were equal to the same value of stem, I know at least one of them.

    Is it possible to see what a $word evaluating actually in? Or to see if $word1 is the same as $word2 and thus be able to declare word1 word2 is actually?

    I already lived this exercise by using things like SOUNDEX and UTL_MATCH. EDIT_DISTANCE_SIMILARITY. I'm NOT interested by these techniques at the moment, that their results are not ideal for what we need to do. I'm focused on just this very specific question: it is possible to compare effectively or otherwise make use of the text Oracle Rod out for a word for similarity comparisons?

    In the following example, I added a special character as a printjoin for the lexer and a word starting with this character to the data, because it was the simplest thing I could think that could cause such an error, in order to create an example that would allow me to demonstrate an error management. Note that I've changed a few things, including some which index the lexer is used, and queries and others. The use of the service and management of exceptions should be allowed to operate without errors. However, if you try to do some things differently, so that the value in which search is not only passed to the function, but selected a table within the function then mapped to the parameter, it can cause all of the rows produce an error, that's why I had to change some things around to prevent this.

    SCOTT@orcl_11g> BEGIN
      2              CTX_DDL.CREATE_PREFERENCE ('your_lex', 'BASIC_LEXER');
      3              CTX_DDL.SET_ATTRIBUTE ('your_lex', 'INDEX_STEMS', 'ENGLISH');
      4              CTX_DDL.SET_ATTRIBUTE ('your_lex', 'PRINTJOINS', '-');
      5  END;
      6  /
    
    PL/SQL procedure successfully completed.
    
    SCOTT@orcl_11g> CREATE TABLE search_table (mainterm  CLOB)
      2  /
    
    Table created.
    
    SCOTT@orcl_11g> INSERT INTO search_table VALUES
      2  ('asks asking asked approaches analyzes analyzed
      3    allocated activities acccepts accepting accepted
      4    comfortable comes commerce humility huge hr -uh-oh')
      5  /
    
    1 row created.
    
    SCOTT@orcl_11g> create index test_index1 on search_table(mainterm)
      2  indextype is ctxsys.context
      3  PARAMETERS ('LEXER your_lex')
      4  /
    
    Index created.
    
    SCOTT@orcl_11g> create index test_index2 on dr$test_index1$i (token_text)
      2  indextype is ctxsys.context
      3  /
    
    Index created.
    
    SCOTT@orcl_11g> CREATE OR REPLACE FUNCTION get_root
      2    (p_word IN VARCHAR2)
      3    RETURN VARCHAR2
      4  AS
      5    v_word       VARCHAR2 (32767);
      6  BEGIN
      7    SELECT token_text
      8    INTO   v_word
      9    FROM   dr$test_index1$i
     10    WHERE  CONTAINS (token_text, '$' || p_word) > 0
     11    AND    token_type = 9
     12    AND    ROWNUM = 1;
     13    RETURN v_word;
     14  EXCEPTION
     15    WHEN NO_DATA_FOUND THEN RETURN p_word;
     16    WHEN OTHERS THEN RETURN SQLERRM (SQLCODE);
     17  END get_root;
     18  /
    
    Function created.
    
    SCOTT@orcl_11g> SHOW ERRORS
    No errors.
    SCOTT@orcl_11g> COLUMN keyword      FORMAT A15
    SCOTT@orcl_11g> COLUMN root_word FORMAT A61 WORD_WRAPPED
    SCOTT@orcl_11g> SELECT DISTINCT token_text AS keyword,
      2           get_root (token_text) AS root_word
      3  FROM   dr$test_index1$i
      4  ORDER  BY keyword, root_word
      5  /
    
    KEYWORD         ROOT_WORD
    --------------- -------------------------------------------------------------
    -UH-OH          ORA-20000: Oracle Text error:
                    DRG-50901: text query parser syntax error on line 1, column 2
    
    ACCCEPTS        ACCCEPTS
    ACCEPT          ACCEPT
    ACCEPTED        ACCEPT
    ACCEPTING       ACCEPT
    ACTIVITIES      ACTIVITY
    ACTIVITY        ACTIVITY
    ALLOCATE        ALLOCATE
    ALLOCATED       ALLOCATE
    ANALYZE         ANALYZE
    ANALYZED        ANALYZE
    ANALYZES        ANALYZE
    APPROACH        APPROACH
    APPROACHES      APPROACH
    ASK             ASK
    ASKED           ASK
    ASKING          ASK
    ASKS            ASK
    COME            COME
    COMES           COME
    COMFORTABLE     COMFORTABLE
    COMMERCE        COMMERCE
    HR              HR
    HUGE            HUGE
    HUMILITY        HUMILITY
    
    25 rows selected.
    
    SCOTT@orcl_11g>
    
  • SUM IS INCORRECT

    I have a worksheet and the SUM function gives the wrong number. It's really dangerous because I need precision.

    I deduced that there is a single cell, that it fails to include in the sum, even if the cell is selected.

    I click on the cell, I want to add to the column, then press = and then select the column. The sum is incorrect and fails to add one of the cells

    Why?

    It is so irritating and so dangerous that I need clarification on this sheet of numbers. Never had this with excel.

    Help, please!

    Thank you

    without details, it is difficult to guess.

    Often, the cell is not the same as the other somehow.  Maybe it's in text format, or there's a funny character in the cell.  Try to copy the data to a new table in a new document to check the results.

    If you can validate the data, then we can try too.

  • 6 iOS10 incorrect percentage battery iPhone

    On my 6 running latest iOS iPhone 10 (10.0.1) my battery indicator in percentage is incorrect most of the time. I can't tell if the percentage indicator is stuck or something. This happened 9 w/IOS, but seems aggravated with iOS 10. Here are two typical scenarios:

    1. indicator indicates the value > 50%, but then stops

    2. indicator indicates the value ~ 10%, but then when it is plugged in charge indicator of cable past at 30%.

    I see that when people are complaining about this preliminary response was to "upgrade to iOS 9.3 +'-well, which obviously does not work for me." I would like to have an indicator that represents the amount of battery life I have left.

    Bart Taylor wrote:

    On my 6 running latest iOS iPhone 10 (10.0.1) my battery indicator in percentage is incorrect most of the time. I can't tell if the percentage indicator is stuck or something. This happened 9 w/IOS, but seems aggravated with iOS 10. Here are two typical scenarios:

    1. indicator indicates the value > 50%, but then stops

    2. indicator indicates the value ~ 10%, but then when it is plugged in charge indicator of cable past at 30%.

    I see that when people are complaining about this preliminary response was to "upgrade to iOS 9.3 +'-well, which obviously does not work for me." I would like to have an indicator that represents the amount of battery life I have left.

    http://www.Apple.com/batteries/maximizing-performance/

Maybe you are looking for